O'Reilly logo

Java Swing by Dave Wood, Marc Loy, Robert Eckstein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Toolbars

Swing gives the ability to add a toolbar to a JFrame or JApplet in addition to a menubar. While toolbars are traditionally located below menubars, they are extensions of the JComponent class and, like JMenuBar, can be positioned by a Swing layout manager in any desired location.

Toolbars have the unique ability to tear themselves from their current location and embed their components in a moveable stand-alone window. This gives the user the freedom to drag the toolbar anywhere on the screen. In addition, toolbars can “dock” in locations where the layout manager can support them.

The JToolBar Class

Like the menubar, the JToolBar class is a container for various components to be added. You can add any component to the toolbar, including buttons, combo boxes, and even additional menus. The toolbar is easier to work with, however, when it uses Swing Action objects.

When a component is added to the toolbar, it is assigned an integer index that determines its display order from left to right. While there is no restriction on the type of component that can be added, the toolbar will generally look best if it uses components that are the same vertical height. Note that toolbars have a default border installed by the L&F. If you don’t like the default, you can override the border with one of your own using the setBorder() method. Alternatively, you can deactivate the drawing of the border by setting the borderPainted property to false.

JToolBar has its own separator that inserts a ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required