com.vlsolutions.swing.toolbars
Class VLToolBar

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 com.vlsolutions.swing.toolbars.VLToolBar
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class VLToolBar
extends javax.swing.JPanel

A JToolbar suitable for drag and drop purposes.

To use the toolbar feature, you must follow this pattern :


The VLToolBar contains buttons and other components, and is included in a ToolBarPanel of a ToolBarContainer .

Loading and saving toolbar configurations is done with the ToolBarIO utility class.

Toolbars can now be collapsed (to gain space on screen). this property is disabled by default to keep compatibility with previous releases. For a better usage of collapsing it is better to set a tooltip text on the toolbar (it will be propagated to the gripper, which will be the only one component visible when collapsed).

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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.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
VLToolBar()
          Constructs a toolbar with a null name (this toolbar will not be able to write its structure in a XML encoder, unless you call setName(String) with a non null name before saving).
VLToolBar(java.lang.String name)
          Constructs a toolbar with the given name.
 
Method Summary
 java.awt.Component add(javax.swing.AbstractButton button)
          Adds a new button to this toolbar
 java.awt.Component add(java.awt.Component comp)
          Overriden to track AbstractButton added
 java.awt.Component add(javax.swing.JButton button)
          Adds a new button to this toolbar
 void addSeparator()
          Adds a new separator to this toolbar
 void configureButton(javax.swing.AbstractButton button)
          This method is invoked upon adding a button to the toolbar.
 javax.swing.border.Border getDraggedBorder()
          Returns the border used during drag and drop or the toolbar
 void installButtonUI(javax.swing.AbstractButton button)
          Install custom UI for this button : a light rollover effet and a custom rounded/shaded border.
 void installMouseHandler(javax.swing.AbstractButton button)
          Used internally to add a mouse listener to the button.
 boolean isCollapsed()
          Returns true if this toolbar is currently collapsed
 boolean isCollapsible()
           
 boolean isRolloverBorderPainter()
          Returns the state of the rolloverBorderPainted property
 boolean isRolloverContentAreaFilled()
          Returns the value of the rolloverContentAreaFilled property
 boolean isUseCustomUI()
          Return the value of the useCustomUI property
 void setCollapsed(boolean collapsed)
          Hides the toolbar (just showing the gripper)
 void setCollapsible(boolean collapsible)
           
 void setDraggedBorder(javax.swing.border.Border border)
          Changes the border used during drag and drop of the toolbar.
 void setOrientation(int orientation)
          Updates the orientation of this toolbar.
 void setRolloverBorderPainted(boolean painted)
          Updates the rolloverBorderPainted property.
 void setRolloverContentAreaFilled(boolean filled)
          Updates the rolloverContentAreaFilled property.
 void setToolTipText(java.lang.String tooltip)
          Updates the tooltip of the toolbar, and propagates it to the toolbar gripper.
 void setUseCustomUI(boolean useCustomUI)
          Updates the useCustomUI property.
 java.lang.String toString()
           
 
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, 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, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VLToolBar

public VLToolBar()
Constructs a toolbar with a null name (this toolbar will not be able to write its structure in a XML encoder, unless you call setName(String) with a non null name before saving). ).


VLToolBar

public VLToolBar(java.lang.String name)
Constructs a toolbar with the given name.

The name is used when reading/writing XML configuration. It must not be null if you use this feature.

Method Detail

addSeparator

public void addSeparator()
Adds a new separator to this toolbar


add

public java.awt.Component add(java.awt.Component comp)
Overriden to track AbstractButton added

Overrides:
add in class java.awt.Container

add

public java.awt.Component add(javax.swing.AbstractButton button)
Adds a new button to this toolbar


add

public java.awt.Component add(javax.swing.JButton button)
Adds a new button to this toolbar


installButtonUI

public void installButtonUI(javax.swing.AbstractButton button)
Install custom UI for this button : a light rollover effet and a custom rounded/shaded border.

This method can be overriden to replace the provided "look and feel" which uses the follwing configuration :


installMouseHandler

public void installMouseHandler(javax.swing.AbstractButton button)
Used internally to add a mouse listener to the button.

Can be overriden to implement custom event handling.


configureButton

public void configureButton(javax.swing.AbstractButton button)
This method is invoked upon adding a button to the toolbar. It can be overriden to provide another look or feel.

Default settings are :


setRolloverBorderPainted

public void setRolloverBorderPainted(boolean painted)
Updates the rolloverBorderPainted property.

If true, when one of the toolbar buttons is rolled-over, its border will be shown.

DefaultValue is true


isRolloverBorderPainter

public boolean isRolloverBorderPainter()
Returns the state of the rolloverBorderPainted property


setRolloverContentAreaFilled

public void setRolloverContentAreaFilled(boolean filled)
Updates the rolloverContentAreaFilled property.

If true, when one of the toolbar buttons is rolled-over, its content will be filled.

Default value is false to accomodate with VLButtonUI which paints itself the button interiors.


isRolloverContentAreaFilled

public boolean isRolloverContentAreaFilled()
Returns the value of the rolloverContentAreaFilled property


setUseCustomUI

public void setUseCustomUI(boolean useCustomUI)
Updates the useCustomUI property.

Default value is true.

When set to true the installButtonUI() method will be called when a button is added to this toolbar.


isUseCustomUI

public boolean isUseCustomUI()
Return the value of the useCustomUI property


setDraggedBorder

public void setDraggedBorder(javax.swing.border.Border border)
Changes the border used during drag and drop of the toolbar.

For a better user experience, please note to install an empty border of the same Insets than this one (otherwise, there will be a size change of the toolbar at the beginning of the drag and after the drop).


getDraggedBorder

public javax.swing.border.Border getDraggedBorder()
Returns the border used during drag and drop or the toolbar


toString

public java.lang.String toString()
Overrides:
toString in class java.awt.Component

setOrientation

public void setOrientation(int orientation)
Updates the orientation of this toolbar.

This method is called directly by the framework on toolbar installation or during drag and drop.


setToolTipText

public void setToolTipText(java.lang.String tooltip)
Updates the tooltip of the toolbar, and propagates it to the toolbar gripper.

Overrides:
setToolTipText in class javax.swing.JComponent

setCollapsed

public void setCollapsed(boolean collapsed)
Hides the toolbar (just showing the gripper)


isCollapsed

public boolean isCollapsed()
Returns true if this toolbar is currently collapsed


isCollapsible

public boolean isCollapsible()

setCollapsible

public void setCollapsible(boolean collapsible)


© Copyright 2004-2007 VLSolutions. All Rights Reserved.
www.vlsolutions.com : Java Components - Smart Client Applications