dsto.dfc.swing.commands
Class CommandMenuButton

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by dsto.dfc.swing.commands.CommandMenuButton
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable

public class CommandMenuButton
extends JComponent

A button that displays the children of a command node in a drop down menu plus a button to execute the 'default' command on the group.

Version:
$Revision$
Author:
Mofeed
See Also:
Serialized Form

Nested Class Summary
 
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
protected  ArrayList actionListeners
           
protected  dsto.dfc.swing.commands.CommandMenuButton.ButtonListener buttonListener
           
protected  ArrayList changeListeners
           
protected  ToolButton executeButton
           
protected  GridBagLayout gridBagLayout1
           
protected  dsto.dfc.swing.commands.CommandMenuButton.MenuComponentListener menuComponentListener
           
protected  dsto.dfc.swing.commands.CommandMenuSynchronizer menuSyncher
           
protected  JPopupMenu popupMenu
           
static Icon PULLDOWN_ICON
           
protected  ToolButton pulldownButton
           
 
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
CommandMenuButton(CommandView commandView, CommandViewNode node)
          Construct the CommandMenuButton given a CommandView tree, and CommandViewNode to start from.
 
Method Summary
 void addActionListener(ActionListener l)
          Add an action listener.
 void dispose()
           
protected  Command getFirstCommand()
          Go through the popup menu looking for the first command.
 Dimension getMaximumSize()
          Override JComponent's getMaximumSize() to return getPreferredSize() or else this component doesn't lay itself out properly!!! :-(
 void removeActionListener(ActionListener l)
          Remove an action listener.
 void removeChangeListener(ChangeListener l)
          CustomToolBarProvider interface.
protected  void setDefaultCommand(Command command)
          Given a command it will put it as the default by placing it in the execute button.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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

PULLDOWN_ICON

public static final Icon PULLDOWN_ICON

menuComponentListener

protected dsto.dfc.swing.commands.CommandMenuButton.MenuComponentListener menuComponentListener

buttonListener

protected dsto.dfc.swing.commands.CommandMenuButton.ButtonListener buttonListener

executeButton

protected ToolButton executeButton

pulldownButton

protected ToolButton pulldownButton

popupMenu

protected JPopupMenu popupMenu

menuSyncher

protected dsto.dfc.swing.commands.CommandMenuSynchronizer menuSyncher

actionListeners

protected ArrayList actionListeners

changeListeners

protected ArrayList changeListeners

gridBagLayout1

protected GridBagLayout gridBagLayout1
Constructor Detail

CommandMenuButton

public CommandMenuButton(CommandView commandView,
                         CommandViewNode node)
Construct the CommandMenuButton given a CommandView tree, and CommandViewNode to start from.

Parameters:
commandView - The command view tree.
node - The command view node to start from.
Method Detail

dispose

public void dispose()

getFirstCommand

protected Command getFirstCommand()
Go through the popup menu looking for the first command.

Returns:
The first command that is found, or null if one is not found.

setDefaultCommand

protected void setDefaultCommand(Command command)
Given a command it will put it as the default by placing it in the execute button.


getMaximumSize

public Dimension getMaximumSize()
Override JComponent's getMaximumSize() to return getPreferredSize() or else this component doesn't lay itself out properly!!! :-(

Overrides:
getMaximumSize in class JComponent

addActionListener

public void addActionListener(ActionListener l)
Add an action listener.

Parameters:
l - The action listener to send action events to.

removeActionListener

public void removeActionListener(ActionListener l)
Remove an action listener.

Parameters:
l - The action listener to stop sending action events to.

removeChangeListener

public void removeChangeListener(ChangeListener l)
CustomToolBarProvider interface.



Copyright © 2008 Commonwealth of Australia