chrriis.dj.nativeswing.swtimpl.components
Class JVLCPlayer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by chrriis.dj.nativeswing.swtimpl.NSPanelComponent
                      extended by chrriis.dj.nativeswing.swtimpl.components.JVLCPlayer
All Implemented Interfaces:
NSComponent, ImageObserver, MenuContainer, Serializable, Accessible

public class JVLCPlayer
extends NSPanelComponent

A native multimedia player. It is a browser-based component, which relies on the VLC plugin.
Methods execute when this component is initialized. If the component is not initialized, methods will be executed as soon as it gets initialized. If the initialization fails, the methods will not have any effect. The results from methods have relevant values only when the component is valid.

Author:
Christopher Deckers
See Also:
Serialized Form

Nested Class Summary
static interface JVLCPlayer.VLCPlayerDecoratorFactory
          A factory that creates the decorators for VLC players.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JVLCPlayer(NSOption... options)
          Construct a VLC player.
 
Method Summary
protected  VLCPlayerDecorator createVLCPlayerDecorator(Component renderingComponent)
          Create a decorator for this vlc player.
 void disposeNativePeer()
          Explicitely dispose the native resources.
protected  void finalize()
           
 VLCAudio getVLCAudio()
          Get the VLC object responsible for audio-related actions.
 VLCInput getVLCInput()
          Get the VLC object responsible for input-related actions.
 VLCPlaylist getVLCPlaylist()
          Get the VLC object responsible for playlist-related actions.
 VLCVideo getVLCVideo()
          Get the VLC object responsible for video-related actions.
 JWebBrowser getWebBrowser()
          Get the web browser that contains this component.
 boolean isControlBarVisible()
          Indicate whether the control bar is visible.
 void load()
          Load the player, with no content.
 void load(Class<?> clazz, String resourcePath)
          Load a file from the classpath.
 void load(Class<?> clazz, String resourcePath, VLCPluginOptions options)
          Load a file from the classpath.
 void load(String resourceLocation)
          Load a file.
 void load(String resourceLocation, VLCPluginOptions options)
          Load a file.
 void load(VLCPluginOptions options)
          Load the player, with no content.
 void removeNotify()
           
 void setControlBarVisible(boolean isControlBarVisible)
          Set whether the control bar is visible.
static void setVLCPlayerDecoratorFactory(JVLCPlayer.VLCPlayerDecoratorFactory vlcPlayerDecoratorFactory)
          Set the decorator that will be used for future vlc player instances.
 
Methods inherited from class chrriis.dj.nativeswing.swtimpl.NSPanelComponent
constrainVisibility, destroyOnFinalization, getNativeComponent, initialize, initializeNativePeer, isNativePeerDisposed, isNativePeerInitialized, isNativePeerValid, proxyComponentHierarchy, runInSequence
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JVLCPlayer

public JVLCPlayer(NSOption... options)
Construct a VLC player.

Parameters:
options - the options to configure the behavior of this component.
Method Detail

setVLCPlayerDecoratorFactory

public static void setVLCPlayerDecoratorFactory(JVLCPlayer.VLCPlayerDecoratorFactory vlcPlayerDecoratorFactory)
Set the decorator that will be used for future vlc player instances.

Parameters:
vlcPlayerDecoratorFactory - the factory that creates the decorators, or null for default decorators.

createVLCPlayerDecorator

protected VLCPlayerDecorator createVLCPlayerDecorator(Component renderingComponent)
Create a decorator for this vlc player. This method can be overriden so that the vlc player uses a different decorator.

Parameters:
renderingComponent - the component to add to the decorator's component hierarchy.
Returns:
the decorator that was created.

removeNotify

public void removeNotify()
Overrides:
removeNotify in class JComponent

getWebBrowser

public JWebBrowser getWebBrowser()
Get the web browser that contains this component. The web browser should only be used to add listeners, for example to listen to window creation events.

Returns:
the web browser.

load

public void load()
Load the player, with no content.


load

public void load(String resourceLocation)
Load a file.

Parameters:
resourceLocation - the path or URL to the file.

load

public void load(VLCPluginOptions options)
Load the player, with no content.

Parameters:
options - the options to better configure the initialization of the VLC plugin.

load

public void load(Class<?> clazz,
                 String resourcePath)
Load a file from the classpath.

Parameters:
clazz - the reference clazz of the file to load.
resourcePath - the path to the file.

load

public void load(Class<?> clazz,
                 String resourcePath,
                 VLCPluginOptions options)
Load a file from the classpath.

Parameters:
clazz - the reference clazz of the file to load.
resourcePath - the path to the file.
options - the options to better configure the initialization of the VLC plugin.

load

public void load(String resourceLocation,
                 VLCPluginOptions options)
Load a file.

Parameters:
resourceLocation - the path or URL to the file.
options - the options to better configure the initialization of the VLC plugin.

isControlBarVisible

public boolean isControlBarVisible()
Indicate whether the control bar is visible.

Returns:
true if the control bar is visible.

setControlBarVisible

public void setControlBarVisible(boolean isControlBarVisible)
Set whether the control bar is visible.

Parameters:
isControlBarVisible - true if the control bar should be visible, false otherwise.

getVLCAudio

public VLCAudio getVLCAudio()
Get the VLC object responsible for audio-related actions.

Returns:
the VLC audio object.

getVLCInput

public VLCInput getVLCInput()
Get the VLC object responsible for input-related actions.

Returns:
the VLC input object.

getVLCPlaylist

public VLCPlaylist getVLCPlaylist()
Get the VLC object responsible for playlist-related actions.

Returns:
the VLC playlist object.

getVLCVideo

public VLCVideo getVLCVideo()
Get the VLC object responsible for video-related actions.

Returns:
the VLC video object.

finalize

protected void finalize()
                 throws Throwable
Overrides:
finalize in class Object
Throws:
Throwable

disposeNativePeer

public void disposeNativePeer()
Description copied from interface: NSComponent
Explicitely dispose the native resources. This is particularly useful if deferred destruction is used (cf native component options) and the component is not going to be used anymore.

Specified by:
disposeNativePeer in interface NSComponent
Overrides:
disposeNativePeer in class NSPanelComponent