Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class JToolBar

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

All Implemented Interfaces:
  Accessible, ImageObserver, MenuContainer, Serializable, SwingConstants

public class JToolBar
extends JComponent
implements SwingConstants, Accessible

`JToolBar` provides a component that is useful for displaying commonly used `Action`s or controls. For examples and information on using tool bars see How to Use Tool Bars, a section in The Java Tutorial.

A tool bar 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` This class implements accessibility support for the `JToolBar` class.
`static class` | `JToolBar.Separator` A toolbar-specific separator.

Inner classes inherited from class javax.swing.JComponent
`JComponent.AccessibleJComponent`

Inner classes inherited from class java.awt.Container
`Container.AccessibleAWTContainer`

Inner classes inherited from class java.awt.Component
`Component.AccessibleAWTComponent`

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`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`JToolBar()` Creates a new toolbar; orientation defaults to `HORIZONTAL`.
`JToolBar(int orientation)` Creates a new toolbar with the specified `orientation.`
`JToolBar(String name)` Creates a new toolbar with the specified `name`.
`JToolBar(String name, int orientation)` Creates a new toolbar with a specified `name` and `orientation`.

Method Summary
`JButton` | `add(Action a)` Adds a new `JButton` which dispatches the action.
`protected void` | `addImpl(Component comp, Object constraints, int index)` If a `JButton` is being added, it is initially set to be disabled.
`void` | `addSeparator()` Appends a toolbar separator of default size to the end of the toolbar.
`void` | `addSeparator(Dimension size)` Appends a toolbar separator of a specified size to the end of the toolbar.
`protected PropertyChangeListener` | `createActionChangeListener(JButton b)` Returns a properly configured `PropertyChangeListener` which updates the control as changes to the `Action` occur, or `null` if the default property change listener for the control is desired.
`protected JButton` | `createActionComponent(Action a)` Factory method which creates the `JButton` for `Action`s added to the `JToolBar`.
`AccessibleContext` | `getAccessibleContext()` Gets the AccessibleContext associated with this JToolBar.
`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()` Returns true if the `JToolbar` 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` | `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)` Sets 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, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, 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, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, 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, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, 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()

  Creates a new toolbar; orientation defaults to `HORIZONTAL`.

### JToolBar

    public JToolBar(int orientation)

  Creates a new toolbar with the specified `orientation. The `orientation` must be either `HORIZONTAL` or `VERTICAL`.`
  Parameters:
    `orientation` - the orientation desired

### JToolBar

    public JToolBar(String name)

  Creates a new toolbar with the specified `name`. The name is used as the title of the undocked toolbar. The default orientation is `HORIZONTAL`.
  Parameters:
    `name` - the name of the toolbar
  Since:
    1.3

### JToolBar

    public JToolBar(String name,
                    int orientation)

  Creates a new toolbar with a specified `name` and `orientation`. All other constructors call this constructor. If `orientation` is an invalid value, an exception will be thrown.
  Parameters:
    `name` - the name of the toolbar
    `orientation` - the initial orientation -- it must be either `HORIZONTAL` or `VERTICAL`
  Throws:
    `IllegalArgumentException` - if orientation is neither `HORIZONTAL` nor `VERTICAL`
  Since:
    1.3

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:
    the string "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 integer indicating the component's position, where 0 is first

### getComponentAtIndex

    public Component getComponentAtIndex(int i)

  Returns the component at the specified index.
  Parameters:
    `i` - the component's position, where 0 is 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()

  Returns true if the `JToolbar` can be dragged out by the user.
  Returns:
    true if the `JToolbar` can be dragged out by the user, false otherwise

### 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; false otherwise
  See Also:
    `isFloatable()`

### getOrientation

    public int getOrientation()

  Returns the current orientation of the toolbar. The value is either `HORIZONTAL` or `VERTICAL`.
  Returns:
    an integer representing the current orientation -- either `HORIZONTAL` or `VERTICAL`
  See Also:
    `setOrientation(int)`

### setOrientation

    public void setOrientation(int o)

  Sets the orientation of the toolbar. The orientation must have either the value `HORIZONTAL` or `VERTICAL`. If `orientation` is an invalid value, an exception will be thrown.
  Parameters:
    `o` - the new orientation -- either `HORIZONTAL` or VERTICAL
  Throws:
    `IllegalArgumentException` - if orientation is neither `HORIZONTAL` nor `VERTICAL`
  See Also:
    `getOrientation()`

### addSeparator

    public void addSeparator()

  Appends a toolbar separator of default size to the end of the toolbar. The default size is determined by the current look and feel.

### addSeparator

    public void addSeparator(Dimension size)

  Appends a toolbar separator of a specified size to the end of the toolbar.
  Parameters:
    `size` - the `Dimension` of the separator

### add

    public JButton add(Action a)

  Adds a new `JButton` which dispatches the action.

  As of 1.3, this is no longer the preferred method for adding `Action`s to a container. Instead it is recommended to configure a control with an action using using `setAction`, and then add that control directly to the `Container`.

  Parameters:
    `a` - the `Action` object to add as a new menu item
  Returns:
    the new button which dispatches the action

### createActionComponent

    protected JButton createActionComponent(Action a)

  Factory method which creates the `JButton` for `Action`s added to the `JToolBar`. The default name is empty if a `null` action is passed.

  As of 1.3, this is no longer the preferred method for adding `Action`s to a `Container`. Instead it is recommended to configure a control with an action using `setAction`, and then add that control directly to the `Container`.

  Parameters:
    `a` - the `Action` for the button to be added
  Returns:
    the newly created button
  See Also:
    `Action`

### createActionChangeListener

    protected PropertyChangeListener createActionChangeListener(JButton b)

  Returns a properly configured `PropertyChangeListener` which updates the control as changes to the `Action` occur, or `null` if the default property change listener for the control is desired.

  As of 1.3, this is no longer the preferred method for adding `Action`s to a `Container`. Instead it is recommended to configure a control with an action using `setAction`, and then add that control directly to the `Container`.

  Returns:
    `null`

### addImpl

    protected void addImpl(Component comp,
                           Object constraints,
                           int index)

  If a `JButton` is being added, it is initially set to be disabled.
  Overrides:
    `addImpl` in class `Container`
  Parameters:
    `comp` - the component to be enhanced
    `constraints` - the constraints to be enforced on the component
    `index` - the index of the component

### 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()

  Gets the AccessibleContext associated with this JToolBar. For tool bars, the AccessibleContext takes the form of an AccessibleJToolBar. A new AccessibleJToolBar instance is created if necessary.
  Specified by:
    `getAccessibleContext` in interface `Accessible`
  Overrides:
    `getAccessibleContext` in class `JComponent`
  Returns:
    an AccessibleJToolBar that serves as the AccessibleContext of this JToolBar

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

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