is new.
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.Box
public class Box
A lightweight container that uses a BoxLayout object as its layout manager. Box provides several class methods that are useful for containers using BoxLayout -- even non-Box containers.
The Box class can create several kinds of invisible components that affect layout: glue, struts, and rigid areas. If all the components your Box contains have a fixed size, you might want to use a glue component (returned by createGlue) to control the components' positions. If you need a fixed amount of space between two components, try using a strut (createHorizontalStrut or createVerticalStrut). If you need an invisible component that always takes up the same amount of space, get it by invoking createRigidArea.
If you are implementing a BoxLayout you can find further information and examples in How to Use BoxLayout , a section in The Java Tutorial.
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. As of 1.4, support for long term storage of all JavaBeans TM has been added to the java.beans package. Please see XMLEncoder .
| Nested Class Summary | |
|---|---|
| protected class |
Box.AccessibleBox
This class implements accessibility support for the Box class. |
| static class |
Box.Filler
An implementation of a lightweight component that participates in layout but has no view. |
| 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.BaselineResizeBehavior
,
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 java.awt.image. ImageObserver |
|---|
| ABORT , ALLBITS , ERROR , FRAMEBITS , HEIGHT , PROPERTIES , SOMEBITS , WIDTH |
| Constructor Summary | |
|---|---|
|
Box
(int axis) Creates a Box that displays its components along the the specified axis. |
|
| Method Summary | |
|---|---|
| static Component |
createGlue
() Creates an invisible "glue" component that can be useful in a Box whose visible components have a maximum width (for a horizontal box) or height (for a vertical box). |
| static Box |
createHorizontalBox
() Creates a Box that displays its components from left to right. |
| static Component |
createHorizontalGlue
() Creates a horizontal glue component. |
| static Component |
createHorizontalStrut
(int width) Creates an invisible, fixed-width component. |
| static Component |
createRigidArea
(
Dimension
d) Creates an invisible component that's always the specified size. |
| static Box |
createVerticalBox
() Creates a Box that displays its components from top to bottom. |
| static Component |
createVerticalGlue
() Creates a vertical glue component. |
| static Component |
createVerticalStrut
(int height) Creates an invisible, fixed-height component. |
| AccessibleContext |
getAccessibleContext
() Gets the AccessibleContext associated with this Box. |
protected void
|
paintComponent
(
Graphics
Paints this Box.
|
| void |
setLayout
(
LayoutManager
l) Throws an AWTError, since a Box can use only a BoxLayout. |
| Methods inherited from class java.lang. Object |
|---|
| clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
Constructor
|
|---|
Box
public
protectedAccessibleContextBox
accessibleContext(int axis)
Creates a Box that displays its components along the the specified axis.
Parameters:
axis - can be
BoxLayout.X_AXIS
,
BoxLayout.Y_AXIS
,
BoxLayout.LINE_AXIS
or
BoxLayout.PAGE_AXIS
.
Throws:
AWTError
- if the axis is invalid
See Also:
createHorizontalBox()
,
createVerticalBox()
Method
|
|---|
createHorizontalBox
public static
Box
publiccreateHorizontalBox
Box()
(int axis)
Creates a Box that displays its components from left to right. If you want a Box that respects the component orientation you should create the Box using the constructor and pass in BoxLayout.LINE_AXIS, eg:
Box lineBox = new Box(BoxLayout.LINE_AXIS);
Returns:
the box
|
|---|
createVerticalBox
public static BoxcreateVerticalBox
createHorizontalBox()
top
bottom.
BoxLayout.PAGE_AXIS,
Box lineBox = newBox(BoxLayout.PAGE_AXIS);
Box(BoxLayout.LINE_AXIS);
createRigidArea
public staticComponent
BoxcreateRigidArea
createVerticalBox(
Dimension
d)
()
Creates an invisible component that's always the specified size.
Box lineBox = new Box(BoxLayout.PAGE_AXIS);
Parameters:
d - the dimensions of the invisible component
the component
See Also:
createGlue()
,
createHorizontalStrut(int)
,
createVerticalStrut(int)
createHorizontalStrut
public static ComponentcreateHorizontalStrut
createRigidArea(int width)
(Dimensiond)
Creates an invisible, fixed-width component. In a horizontal box, you typically use this method to force a certain amount of space between two components. In a vertical box, you might use this method to force the box to be at least the specified width. The invisible component has no height unless excess space is available, in which case it takes its share of available space, just like any other component that has no maximum height.
width
width
component, in pixels >= 0
createVerticalStrut(int)
createGlue()
createRigidArea(java.awt.Dimension)
createVerticalStrut
public static ComponentcreateVerticalStrut
createHorizontalStrut(int height)
(int width)
fixed-height
vertical
horizontal
height.
width
width.
height
height
createHorizontalStrut(int)
createGlue
public static ComponentcreateGlue
createVerticalStrut()
(int height)
Creates an invisible "glue" component that can be useful in a Box whose visible components have a maximum width (for a horizontal box) or height (for a vertical box). You can think of the glue component as being a gooey substance that expands as much as necessary to fill the space between its neighboring components.
For example, suppose you have a horizontal box that contains two fixed-size components. If the box gets extra space, the fixed-size components won't become larger, so where does the extra space go? Without glue, the extra space goes to the right of the second component. If you put glue between the fixed-size components, then the extra space goes there. If you put glue before the first fixed-size component, the extra space goes there, and the fixed-size components are shoved against the right edge of the box. If you put glue before the first fixed-size component and after the second fixed-size component, the fixed-size components are centered in the box.
To use glue, call Box.createGlue and add the returned component to a container. The glue component has no minimum or preferred size, so it takes no space unless excess space is available. If excess space is available, then the glue component takes its share of available horizontal or vertical space, just like any other component that has no maximum width or height.
createHorizontalGlue
public static ComponentcreateHorizontalGlue
createGlue()
Creates a horizontal glue component.
For example, suppose you have a horizontal box that contains two fixed-size components. If the box gets extra space, the fixed-size components won't become larger, so where does the extra space go? Without glue, the extra space goes to the right of the second component. If you put glue between the fixed-size components, then the extra space goes there. If you put glue before the first fixed-size component, the extra space goes there, and the fixed-size components are shoved against the right edge of the box. If you put glue before the first fixed-size component and after the second fixed-size component, the fixed-size components are centered in the box.
To use glue, call Box.createGlue and add the returned component to a container. The glue component has no minimum or preferred size, so it takes no space unless excess space is available. If excess space is available, then the glue component takes its share of available horizontal or vertical space, just like any other component that has no maximum width or height.
createVerticalGlue
public static ComponentcreateVerticalGlue
createHorizontalGlue()
vertical
setLayout
public void
public staticComponentsetLayout
createVerticalGlue(
LayoutManager
l)
()
Throws an AWTError, since a Box can use only a BoxLayout.
Overrides:
setLayout
in class
Container
Parameters:
l - the layout manager to use
See Also:
Container.doLayout()
,
Container.getLayout()
paintComponent
protected
publicvoidpaintComponent
setLayout(Graphics
LayoutManagerg)
l)
Paints this Box. If this Box has a UI this method invokes super's implementation, otherwise if this Box is opaque the Graphics is filled using the background.
paintComponent
JComponent
g - the Graphics to paint to
Throws:
NullPointerException
- if g is null
Since:
1.6
JComponent.paint(java.awt.Graphics)
ComponentUI
public AccessibleContext getAccessibleContext()