javax.swing
Class JToolBar

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JToolBar
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants

public class JToolBar
extends JComponent
implements SwingConstants, Accessible

JToolBar is a component that provides a toolbar to Swing programs. Users can add buttons (or actions that will be represented by JButtons) as well as other components to the JToolBar. JToolBars can be dragged in and out of their parent components. If the JToolBar is dragged out of the parent, then it will be displayed in its own RootPaneContainer. For dragging to work properly, JToolBars need to be placed in a Container that has a BorderLayout. That parent Container cannot have components in the NORTH, EAST, SOUTH, or WEST components (that is not the JToolBar).

See Also:
Serialized Form

Nested Class Summary
protected  class JToolBar.AccessibleJToolBar
          Provides the accessibility features for the JToolBar component.
static class JToolBar.Separator
          This is an extension of JSeparator used in toolbars.
 
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.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 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
JToolBar()
          This method creates a new JToolBar object with horizontal orientation and no name.
JToolBar(int orientation)
          This method creates a new JToolBar with the given orientation and no name.
JToolBar(String name)
          This method creates a new JToolBar object with the given name and horizontal orientation.
JToolBar(String name, int orientation)
          This method creates a new JToolBar object with the given name and orientation.
 
Method Summary
 JButton add(Action action)
          This method adds a new JButton that performs the given Action to the JToolBar.
protected  void addImpl(Component component, Object constraints, int index)
          This method overrides Container's addImpl method.
 void addSeparator()
          This method adds a Separator of default size to the JToolBar.
 void addSeparator(Dimension size)
          This method adds a Separator with the given size to the JToolBar.
protected  PropertyChangeListener createActionChangeListener(JButton button)
          This method creates a pre-configured PropertyChangeListener which updates the control as changes are made to the Action.
protected  JButton createActionComponent(Action action)
          This method is used to create JButtons which can be added to the JToolBar for the given action.
 AccessibleContext getAccessibleContext()
          Returns the object that provides accessibility features for this JToolBar component.
 Component getComponentAtIndex(int index)
          This method returns the component at the given index.
 int getComponentIndex(Component component)
          This method returns the index of the given component.
 Insets getMargin()
          This method returns the margin property.
 int getOrientation()
          This method returns the orientation of the JToolBar.
 ToolBarUI getUI()
          This method returns the UI class used to paint this JToolBar.
 String getUIClassID()
          This method returns the String identifier for the UI class to the used with the JToolBar.
 boolean isBorderPainted()
          This method returns the borderPainted property.
 boolean isFloatable()
          This method returns the floatable property.
 boolean isRollover()
          This method returns the rollover property.
protected  void paintBorder(Graphics graphics)
          This method paints the border if the borderPainted property is true.
protected  String paramString()
          Returns a string describing the attributes for the JToolBar component, for use in debugging.
 void setBorderPainted(boolean painted)
          This method sets the borderPainted property.
 void setFloatable(boolean floatable)
          This method sets the floatable property.
 void setLayout(LayoutManager mgr)
          This method sets the layout manager to be used with the JToolBar.
 void setMargin(Insets margin)
          This method sets the margin property.
 void setOrientation(int orientation)
          This method sets the orientation property for JToolBar.
 void setRollover(boolean b)
          This method sets the rollover property for the JToolBar.
 void setUI(ToolBarUI ui)
          This method sets the UI used with the JToolBar.
 void updateUI()
          This method resets the UI used to the Look and Feel defaults.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, 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, 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, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setNextFocusableComponent, setOpaque, 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, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, 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, processMouseEvent, 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, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JToolBar

public JToolBar()
This method creates a new JToolBar object with horizontal orientation and no name.


JToolBar

public JToolBar(int orientation)
This method creates a new JToolBar with the given orientation and no name.

Parameters:
orientation - JToolBar orientation (HORIZONTAL or VERTICAL)

JToolBar

public JToolBar(String name)
This method creates a new JToolBar object with the given name and horizontal orientation.

Parameters:
name - Name assigned to undocked tool bar.

JToolBar

public JToolBar(String name,
                int orientation)
This method creates a new JToolBar object with the given name and orientation.

Parameters:
name - Name assigned to undocked tool bar.
orientation - JToolBar orientation (HORIZONTAL or VERTICAL)
Method Detail

add

public JButton add(Action action)
This method adds a new JButton that performs the given Action to the JToolBar.

Parameters:
action - The Action to add to the JToolBar.
Returns:
The JButton that wraps the Action.

paintBorder

protected void paintBorder(Graphics graphics)
This method paints the border if the borderPainted property is true.

Overrides:
paintBorder in class JComponent
Parameters:
graphics - The graphics object to paint with.
See Also:
JComponent.paint(java.awt.Graphics), JComponent.paintChildren(java.awt.Graphics), JComponent.paintComponent(java.awt.Graphics)

getUI

public ToolBarUI getUI()
This method returns the UI class used to paint this JToolBar.

Returns:
The UI class for this JToolBar.

setUI

public void setUI(ToolBarUI ui)
This method sets the UI used with the JToolBar.

Parameters:
ui - The UI used with the JToolBar.

updateUI

public void updateUI()
This method resets the UI used to the Look and Feel defaults.

Overrides:
updateUI in class JComponent

getUIClassID

public String getUIClassID()
This method returns the String identifier for the UI class to the used with the JToolBar.

Overrides:
getUIClassID in class JComponent
Returns:
The String identifier for the UI class.
See Also:
JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

setRollover

public void setRollover(boolean b)
This method sets the rollover property for the JToolBar. In rollover mode, JButtons inside the JToolBar will only display their borders when the mouse is moving over them.

Parameters:
b - The new rollover property.

isRollover

public boolean isRollover()
This method returns the rollover property.

Returns:
The rollover property.

getComponentIndex

public int getComponentIndex(Component component)
This method returns the index of the given component.

Parameters:
component - The component to find.
Returns:
The index of the given component.

getComponentAtIndex

public Component getComponentAtIndex(int index)
This method returns the component at the given index.

Parameters:
index - The index of the component.
Returns:
The component at the given index.

getMargin

public Insets getMargin()
This method returns the margin property.

Returns:
The margin property.

setMargin

public void setMargin(Insets margin)
This method sets the margin property. The margin property determines the extra space between the children components of the JToolBar and the border.

Parameters:
margin - The margin property.

isBorderPainted

public boolean isBorderPainted()
This method returns the borderPainted property.

Returns:
The borderPainted property.

setBorderPainted

public void setBorderPainted(boolean painted)
This method sets the borderPainted property. If set to false, the border will not be painted.

Parameters:
painted - Whether the border will be painted.

isFloatable

public boolean isFloatable()
This method returns the floatable property.

Returns:
The floatable property.

setFloatable

public void setFloatable(boolean floatable)
This method sets the floatable property. If set to false, the JToolBar cannot be dragged.

Parameters:
floatable - Whether the JToolBar can be dragged.

getOrientation

public int getOrientation()
This method returns the orientation of the JToolBar.

Returns:
The orientation of the JToolBar.

setLayout

public void setLayout(LayoutManager mgr)
This method sets the layout manager to be used with the JToolBar.

Overrides:
setLayout in class Container
Parameters:
mgr - The Layout Manager used with the JToolBar.

setOrientation

public void setOrientation(int orientation)
This method sets the orientation property for JToolBar.

Parameters:
orientation - The new orientation for JToolBar.
Throws:
IllegalArgumentException - If the orientation is not HORIZONTAL or VERTICAL.

addSeparator

public void addSeparator()
This method adds a Separator of default size to the JToolBar.


addSeparator

public void addSeparator(Dimension size)
This method adds a Separator with the given size to the JToolBar.

Parameters:
size - The size of the Separator.

createActionComponent

protected JButton createActionComponent(Action action)
This method is used to create JButtons which can be added to the JToolBar for the given action.

Parameters:
action - The action to create a JButton for.
Returns:
The JButton created from the action.

createActionChangeListener

protected PropertyChangeListener createActionChangeListener(JButton button)
This method creates a pre-configured PropertyChangeListener which updates the control as changes are made to the Action. However, this is no longer the recommended way of adding Actions to Containers. As such, this method returns null.

Parameters:
button - The JButton to configure a PropertyChangeListener for.
Returns:
null.

addImpl

protected void addImpl(Component component,
                       Object constraints,
                       int index)
This method overrides Container's addImpl method. If a JButton is added, it is disabled.

Overrides:
addImpl in class Container
Parameters:
component - The Component to add.
constraints - The Constraints placed on the component.
index - The index to place the Component at.

paramString

protected String paramString()
Returns a string describing the attributes for the JToolBar component, for use in debugging. The return value is guaranteed to be non-null, but the format of the string may vary between implementations.

Overrides:
paramString in class JComponent
Returns:
A string describing the attributes of the JToolBar.

getAccessibleContext

public AccessibleContext getAccessibleContext()
Returns the object that provides accessibility features for this JToolBar component.

Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class JComponent
Returns:
The accessible context (an instance of JToolBar.AccessibleJToolBar).