BoxLayout
Most
layout managers were defined back when
Java 1.0 was first released. Swing adds only one new general-purpose
layout manager, BoxLayout. This layout manager is
useful for creating toolbars or vertical button bars. It lays out
components in a single row or column.
Although you can use BoxLayout directly, Swing
includes a handy container called Box that takes
care of the details for you. Every Box uses
BoxLayout, but you don’t really have to
worry about it; the Box
class includes some very useful methods
for laying out components.
You can create a
horizontal or vertical box using
Box’s static methods.
Container horizontalBox = Box.createHorizontalBox( ); Container verticalBox = Box.createVerticalBox( );
Once the Box is created, you can just
add( ) components as usual:
Container box = Box.createHorizontalBox( );
box.add(new JButton("In the"));
Box includes several other static methods that
create special
invisible components that are handy
for BoxLayout. The first of these is
glue
; glue is really space between
components in the Box. When the
Box is resized, glue expands or contracts as more
or less space is available. The other special invisible component
type is a strut
. Like glue, a strut represents space
between components, but it doesn’t resize.
The following example creates a
horizontal Box (shown
in Figure 16.6) that includes both glue and
struts. Play around by resizing the window to see the effect of the
glue and the struts.
//file: Boxer.java import java.awt.*; ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access