net.sf.fmj.ejmf.toolkit.gui.controlpanel
Class AbstractControlPanel

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 net.sf.fmj.ejmf.toolkit.gui.controlpanel.AbstractControlPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
StandardControlPanel

public abstract class AbstractControlPanel
extends javax.swing.JPanel

Root class form which custom Control Panels should extends. AbstractControlPanel provides layout a collection Controls provided by AbstractControls reference.

Subclasses must supply definitions of the following methods:

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  Skin skin
           
static int USE_FF_CONTROL
          Value for fast forward control
static int USE_GAIN_CONTROL
          Value for volume control.
static int USE_GAINMETER_CONTROL
          Value for volume meter/mute control
static int USE_PAUSE_CONTROL
          Value for pause button control.
static int USE_PROGRESS_CONTROL
          Value for progress bar control.
static int USE_REVERSE_CONTROL
          Value for reverse button control.
static int USE_START_CONTROL
          Value for start button control.
static int USE_STOP_CONTROL
          Value for stop button control.
 
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
protected AbstractControlPanel(Skin skin, Player player)
          Create a Control Panel with complete suite of Controls
protected AbstractControlPanel(Skin skin, Player player, int flags)
          Create a Control panel with those Controls identified by flags argument associated with player.
 
Method Summary
protected abstract  void addComponents(int flags)
          Add appropriate Components to Control Panel.
protected abstract  net.sf.fmj.ejmf.toolkit.gui.controlpanel.AbstractControls createControls(Player player)
          Create the Controls to be displayed in the Control Panel.
 AbstractListenerControl getControl(java.lang.String name)
          Return Control with given name.
protected  net.sf.fmj.ejmf.toolkit.gui.controlpanel.AbstractControls getControls()
          Return AbstractControls managed by this AbstractControlPanel.
protected  void removeControlComponents()
          Remove all control components from the Control panel container.
protected  void replaceControlComponent(java.awt.Component c, java.awt.Component withComponent)
          Remove the control component identified by c and replace it with withComponent.
protected  void replaceControlComponent(java.awt.Component withComponent, int atIndex)
          Remove the control component at location atIndex with the component named by withComponent.
protected  void setControlPanelBorder()
          Set border of control panel.
protected  void setControlPanelLayout()
          Set layout for control panel.
 
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, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

USE_START_CONTROL

public static final int USE_START_CONTROL
Value for start button control.

See Also:
Constant Field Values

USE_STOP_CONTROL

public static final int USE_STOP_CONTROL
Value for stop button control.

See Also:
Constant Field Values

USE_REVERSE_CONTROL

public static final int USE_REVERSE_CONTROL
Value for reverse button control.

See Also:
Constant Field Values

USE_PAUSE_CONTROL

public static final int USE_PAUSE_CONTROL
Value for pause button control.

See Also:
Constant Field Values

USE_GAIN_CONTROL

public static final int USE_GAIN_CONTROL
Value for volume control.

See Also:
Constant Field Values

USE_FF_CONTROL

public static final int USE_FF_CONTROL
Value for fast forward control

See Also:
Constant Field Values

USE_PROGRESS_CONTROL

public static final int USE_PROGRESS_CONTROL
Value for progress bar control.

See Also:
Constant Field Values

USE_GAINMETER_CONTROL

public static final int USE_GAINMETER_CONTROL
Value for volume meter/mute control

See Also:
Constant Field Values

skin

protected final Skin skin
Constructor Detail

AbstractControlPanel

protected AbstractControlPanel(Skin skin,
                               Player player,
                               int flags)
Create a Control panel with those Controls identified by flags argument associated with player.

Parameters:
player - Playera with which control panel is associated.
flags - OR'd value of USE values that determine which control buttons are displayed.

AbstractControlPanel

protected AbstractControlPanel(Skin skin,
                               Player player)
Create a Control Panel with complete suite of Controls

Parameters:
player - Playera with which control panel is associated.
Method Detail

setControlPanelBorder

protected void setControlPanelBorder()
Set border of control panel. Subclasses should override this method if they prefer a border different than EtchedBorder.


setControlPanelLayout

protected void setControlPanelLayout()
Set layout for control panel. Subclasses override this method to change layout.

Default layout is FlowLayout.


addComponents

protected abstract void addComponents(int flags)
Add appropriate Components to Control Panel.

Parameters:
flags - Is the bit-wise OR of some number of Control identifiers, e.g. USE_START_CONTROL. OR'd value of USE values that determine which control buttons are displayed.

createControls

protected abstract net.sf.fmj.ejmf.toolkit.gui.controlpanel.AbstractControls createControls(Player player)
Create the Controls to be displayed in the Control Panel.

Parameters:
player - Playera with which control panel is associated.

removeControlComponents

protected void removeControlComponents()
Remove all control components from the Control panel container.


replaceControlComponent

protected void replaceControlComponent(java.awt.Component c,
                                       java.awt.Component withComponent)
Remove the control component identified by c and replace it with withComponent.

If default layout is changed by a subclass, this method may need to be overridden.

Parameters:
c - Existing component
withComponent - New component to be installed in control panel.

replaceControlComponent

protected void replaceControlComponent(java.awt.Component withComponent,
                                       int atIndex)
Remove the control component at location atIndex with the component named by withComponent.

If default layout is changed by a subclass, this method may need to be overridden.

Parameters:
withComponent - New component to be installed in control panel.
atIndex - Position of component to replace.

getControl

public AbstractListenerControl getControl(java.lang.String name)
Return Control with given name.


getControls

protected net.sf.fmj.ejmf.toolkit.gui.controlpanel.AbstractControls getControls()
Return AbstractControls managed by this AbstractControlPanel.