jsky.util.gui
Class GenericToolBar

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JToolBar
                  extended by jsky.util.gui.GenericToolBar
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants
Direct Known Subclasses:
ImageDisplayToolBar, NavigatorToolBar

public class GenericToolBar
extends javax.swing.JToolBar

Implements a generic toolbar that can be used for a number of file/URL browser type applications. The class using this toolbar must implement the GenericToolBarTarget interface.

See Also:
Serialized Form

Nested Class Summary
protected  class GenericToolBar.ButtonPropertyChangeListener
          Local class to enable or disable toolbar buttons when the related actions are enabled or disabled.
 
Nested classes/interfaces inherited from class javax.swing.JToolBar
javax.swing.JToolBar.AccessibleJToolBar, javax.swing.JToolBar.Separator
 
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  javax.swing.JButton backButton
          Handle for the "Back" button
protected  javax.swing.JButton forwardButton
          Handle for the "Forward" button
protected  javax.swing.JButton openButton
          Handle for the "Open" button
protected  boolean showPictures
          If true, display button icons
protected  boolean showText
          If true, display button labels
protected  GenericToolBarTarget target
          Target panel
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GenericToolBar()
          Create the toolbar with no target (derived class must add all items)
GenericToolBar(GenericToolBarTarget target)
          Create the toolbar for the given Generic target
GenericToolBar(GenericToolBarTarget target, boolean addItems)
          Create the toolbar for the given Generic target.
GenericToolBar(GenericToolBarTarget target, boolean addItems, int orientation)
          Create the toolbar for the given Generic target.
 
Method Summary
protected  void addToolBarItems()
          Add the items to the tool bar
 javax.swing.JButton getBackButton()
           
 javax.swing.JButton getForwardButton()
           
 javax.swing.JButton getOpenButton()
           
protected  javax.swing.JButton makeBackButton()
          Make the Back button, if it does not yet exists.
protected  javax.swing.JButton makeButton(java.lang.String toolTip, javax.swing.Action action, boolean isMenuButton)
          Make and return a toolbar button.
protected  javax.swing.JButton makeForwardButton()
          Make the Forward button, if it does not yet exists.
protected  javax.swing.JButton makeMenuButton(java.lang.String toolTip, javax.swing.JPopupMenu menu)
          Make and return a menu button with the given tool tip and menu.
protected  javax.swing.JButton makeOpenButton()
          Make the Open button, if it does not yet exists.
protected  javax.swing.JToggleButton makeToggleButton(java.lang.String toolTip, javax.swing.Action action)
          Make and return a toolbar toggle button.
 void setShowPictures(boolean b)
          Set to true to show toolbar buttons with icons
 void setShowText(boolean b)
          Set to true to show toolbar buttons with labels
protected  javax.swing.AbstractButton setupButton(javax.swing.AbstractButton button)
          Set the common attributes for toolbar buttons
 void update()
          Update the toolbar display using the current text/pictures options.
protected  void updateButton(javax.swing.AbstractButton button, java.lang.String text, javax.swing.Icon icon)
          Update the given button to display text, and/or icons, depending on the current settigs.
 
Methods inherited from class javax.swing.JToolBar
add, addImpl, addSeparator, addSeparator, createActionChangeListener, createActionComponent, getAccessibleContext, getComponentAtIndex, getComponentIndex, getMargin, getOrientation, getUI, getUIClassID, isBorderPainted, isFloatable, isRollover, paintBorder, paramString, setBorderPainted, setFloatable, setLayout, setMargin, setOrientation, setRollover, 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, 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, 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, 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

target

protected GenericToolBarTarget target
Target panel


openButton

protected javax.swing.JButton openButton
Handle for the "Open" button


backButton

protected javax.swing.JButton backButton
Handle for the "Back" button


forwardButton

protected javax.swing.JButton forwardButton
Handle for the "Forward" button


showPictures

protected boolean showPictures
If true, display button icons


showText

protected boolean showText
If true, display button labels

Constructor Detail

GenericToolBar

public GenericToolBar(GenericToolBarTarget target,
                      boolean addItems,
                      int orientation)
Create the toolbar for the given Generic target.

Parameters:
target - the target object owning the toolbar
addItems - if true, add the toolbar items, otherwise they should be added by calling addToolBarItems() in a derived class.
orientation - the orientation desired

GenericToolBar

public GenericToolBar(GenericToolBarTarget target,
                      boolean addItems)
Create the toolbar for the given Generic target.

Parameters:
target - the target object owning the toolbar
addItems - if true, add the toolbar items, otherwise they should be added by calling addToolBarItems() in a derived class.

GenericToolBar

public GenericToolBar(GenericToolBarTarget target)
Create the toolbar for the given Generic target


GenericToolBar

public GenericToolBar()
Create the toolbar with no target (derived class must add all items)

Method Detail

addToolBarItems

protected void addToolBarItems()
Add the items to the tool bar


setupButton

protected javax.swing.AbstractButton setupButton(javax.swing.AbstractButton button)
Set the common attributes for toolbar buttons


makeOpenButton

protected javax.swing.JButton makeOpenButton()
Make the Open button, if it does not yet exists. Otherwise update the display using the current options for displaying text or icons.

Returns:
the Open button

makeBackButton

protected javax.swing.JButton makeBackButton()
Make the Back button, if it does not yet exists. Otherwise update the display using the current options for displaying text or icons.

Returns:
the Back button

makeForwardButton

protected javax.swing.JButton makeForwardButton()
Make the Forward button, if it does not yet exists. Otherwise update the display using the current options for displaying text or icons.

Returns:
the Forward button

makeButton

protected javax.swing.JButton makeButton(java.lang.String toolTip,
                                         javax.swing.Action action,
                                         boolean isMenuButton)
Make and return a toolbar button.

Parameters:
toolTip - the tool tip text
action - the action for the button
isMenuButton - true if the button will have a menu

makeToggleButton

protected javax.swing.JToggleButton makeToggleButton(java.lang.String toolTip,
                                                     javax.swing.Action action)
Make and return a toolbar toggle button.

Parameters:
toolTip - the tool tip text
action - the action for the button

makeMenuButton

protected javax.swing.JButton makeMenuButton(java.lang.String toolTip,
                                             javax.swing.JPopupMenu menu)
Make and return a menu button with the given tool tip and menu.

Parameters:
toolTip - the tool tip text for the button
menu - the menu for the button

updateButton

protected void updateButton(javax.swing.AbstractButton button,
                            java.lang.String text,
                            javax.swing.Icon icon)
Update the given button to display text, and/or icons, depending on the current settigs.

Parameters:
button - the button
text - the button text
icon - the URL string for the button's icon

setShowPictures

public void setShowPictures(boolean b)
Set to true to show toolbar buttons with icons


setShowText

public void setShowText(boolean b)
Set to true to show toolbar buttons with labels


update

public void update()
Update the toolbar display using the current text/pictures options.


getOpenButton

public javax.swing.JButton getOpenButton()

getBackButton

public javax.swing.JButton getBackButton()

getForwardButton

public javax.swing.JButton getForwardButton()