JavaTM 2 Platform
Standard Edition

javax.swing
Class JToolBar

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JToolBar

public class JToolBar
extends JComponent
implements SwingConstants, Accessible

JToolBar provides a component which is useful for displaying commonly used Actions or controls. It can be dragged out into a separate window by the user (unless the floatable property is set to false). In order for drag-out to work correctly, it is recommended that you add JToolBar instances to one of the four 'sides' of a container whose layout manager is a BorderLayout, and do not add children to any of the other four 'sides'.

For the keyboard keys used by this component in the standard Look and Feel (L&F) renditions, see the JToolBar key assignments.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.

See Also:
Action, Serialized Form

Inner Class Summary
protected  class JToolBar.AccessibleJToolBar
          The class used to obtain the accessible role for this object.
static class JToolBar.Separator
          A toolbar-specific separator.
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
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, NORTH, NORTH_EAST, NORTH_WEST, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Constructor Summary
JToolBar()
          Create a new toolbar.
JToolBar(int orientation)
          Create a new toolbar.
 
Method Summary
 JButton add(Action a)
          Add a new JButton which dispatches the action.
protected  void addImpl(Component comp, Object constraints, int index)
          Adds the specified component to this container at the specified index.
 void addSeparator()
          Appends a toolbar separator of default size to the end of the toolbar.
 void addSeparator(Dimension size)
          Appends a toolbar separator to the end of the toolbar.
protected  PropertyChangeListener createActionChangeListener(JButton b)
           
 AccessibleContext getAccessibleContext()
          Get the AccessibleContext associated with this JComponent
 Component getComponentAtIndex(int i)
          Returns the component at the specified index.
 int getComponentIndex(Component c)
          Returns the index of the specified component.
 Insets getMargin()
          Returns the margin between the toolbar's border and its buttons.
 int getOrientation()
          Returns the current orientation of the toolbar
 ToolBarUI getUI()
          Returns the toolbar's current UI.
 String getUIClassID()
          Returns the name of the L&F class that renders this component.
 boolean isBorderPainted()
          Checks whether the border should be painted.
 boolean isFloatable()
          Return true if the Toolbar can be dragged out by the user.
protected  void paintBorder(Graphics g)
          Paint the toolbar's border if BorderPainted property is true.
protected  String paramString()
          Returns a string representation of this JToolBar.
 void remove(Component comp)
          Remove the Component from the tool bar.
 void setBorderPainted(boolean b)
          Sets whether the border should be painted.
 void setFloatable(boolean b)
          Sets whether the toolbar can be made to float
 void setMargin(Insets m)
          Sets the margin between the toolbar's border and its buttons.
 void setOrientation(int o)
          Set the orientation of the toolbar
 void setUI(ToolBarUI ui)
          Sets the L&F object that renders this component.
 void updateUI()
          Notification from the UIFactory that the L&F has changed.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setCursor, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JToolBar

public JToolBar()
Create a new toolbar. Orientration defaults to horizontal.

JToolBar

public JToolBar(int orientation)
Create a new toolbar.
Parameters:
orientation - The initial orientation (HORIZONTAL/VERTICAL)
Method Detail

getUI

public ToolBarUI getUI()
Returns the toolbar's current UI.
See Also:
setUI(javax.swing.plaf.ToolBarUI)

setUI

public void setUI(ToolBarUI ui)
Sets the L&F object that renders this component.
Parameters:
ui - the ToolBarUI L&F object
See Also:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
Notification from the UIFactory that the L&F has changed. Called to replace the UI with the latest version from the UIFactory.
Overrides:
updateUI in class JComponent
See Also:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
Returns the name of the L&F class that renders this component.
Overrides:
getUIClassID in class JComponent
Returns:
"ToolBarUI"
See Also:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getComponentIndex

public int getComponentIndex(Component c)
Returns the index of the specified component. (Note: Separators occupy index positions.)
Parameters:
c - the Component to find
Returns:
an int indicating the component's position, where 0=first

getComponentAtIndex

public Component getComponentAtIndex(int i)
Returns the component at the specified index.
Parameters:
i - the component's position, where 0=first
Returns:
the Component at that position, or null for an invalid index

setMargin

public void setMargin(Insets m)
Sets the margin between the toolbar's border and its buttons. Setting to null causes the toolbar to use the default margins. The toolbar's default Border object uses this value to create the proper margin. However, if a non-default border is set on the toolbar, it is that Border object's responsibility to create the appropriate margin space (otherwise this property will effectively be ignored).
Parameters:
m - an Insets object that defines the space between the border and the buttons
See Also:
Insets

getMargin

public Insets getMargin()
Returns the margin between the toolbar's border and its buttons.
Returns:
an Insets object containing the margin values
See Also:
Insets

isBorderPainted

public boolean isBorderPainted()
Checks whether the border should be painted.
Returns:
true if the border should be painted, else false
See Also:
setBorderPainted(boolean)

setBorderPainted

public void setBorderPainted(boolean b)
Sets whether the border should be painted.
Parameters:
b - if true, the border is painted.
See Also:
isBorderPainted()

paintBorder

protected void paintBorder(Graphics g)
Paint the toolbar's border if BorderPainted property is true.
Overrides:
paintBorder in class JComponent
Parameters:
g - the Graphics context in which the painting is done
See Also:
JComponent.paint(java.awt.Graphics), JComponent.setBorder(javax.swing.border.Border)

isFloatable

public boolean isFloatable()
Return true if the Toolbar can be dragged out by the user.
Returns:
true if the Toolbar can be dragged out by the user

setFloatable

public void setFloatable(boolean b)
Sets whether the toolbar can be made to float
Parameters:
b - if true, the toolbar can be dragged out
See Also:
isFloatable()

getOrientation

public int getOrientation()
Returns the current orientation of the toolbar
Returns:
an int representing the current orientation (HORIZONTAL/VERTICAL)
See Also:
setOrientation(int)

setOrientation

public void setOrientation(int o)
Set the orientation of the toolbar
Parameters:
o - The new orientation (HORIZONTAL/VERTICAL)
See Also:
getOrientation()

addSeparator

public void addSeparator()
Appends a toolbar separator of default size to the end of the toolbar.

addSeparator

public void addSeparator(Dimension size)
Appends a toolbar separator to the end of the toolbar.
Parameters:
size - the size of the separator

add

public JButton add(Action a)
Add a new JButton which dispatches the action.
Parameters:
a - the Action object to add as a new menu item

remove

public void remove(Component comp)
Remove the Component from the tool bar.
Overrides:
remove in class Container
Parameters:
comp - the component to be removed.

addImpl

protected void addImpl(Component comp,
                       Object constraints,
                       int index)
Description copied from class: Container
Adds the specified component to this container at the specified index. This method also notifies the layout manager to add the component to this container's layout using the specified constraints object.

This is the method to override if a program needs to track every add request to a container. An overriding method should usually include a call to the superclass's version of the method:

super.addImpl(comp, constraints, index)

Overrides:
addImpl in class Container
Tags copied from class: Container
Parameters:
comp - the component to be added.
constraints - an object expressing layout contraints for this component.
index - the position in the container's list at which to insert the component, where -1 means insert at the end.
See Also:
Container.add(java.awt.Component), Container.add(java.awt.Component, int), Container.add(java.awt.Component, java.lang.Object), LayoutManager

createActionChangeListener

protected PropertyChangeListener createActionChangeListener(JButton b)

paramString

protected String paramString()
Returns a string representation of this JToolBar. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not be null.
Overrides:
paramString in class JComponent
Returns:
a string representation of this JToolBar.

getAccessibleContext

public AccessibleContext getAccessibleContext()
Get the AccessibleContext associated with this JComponent
Specified by:
getAccessibleContext in interface Accessible
Overrides:
getAccessibleContext in class JComponent
Returns:
the AccessibleContext of this JComponent

JavaTM 2 Platform
Standard Edition

Submit a bug or feature
Java, Java 2D, and JDBC are a trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.