|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.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 JavaBeansTM
has been added to the java.beans
package.
Please see XMLEncoder
.
BoxLayout
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 g)
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 Detail |
---|
public Box(int axis)
Box
that displays its components
along the the specified axis.
axis
- can be BoxLayout.X_AXIS
,
BoxLayout.Y_AXIS
,
BoxLayout.LINE_AXIS
or
BoxLayout.PAGE_AXIS
.
AWTError
- if the axis
is invalidcreateHorizontalBox()
,
createVerticalBox()
Method Detail |
---|
public static Box createHorizontalBox()
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);
public static Box createVerticalBox()
Box
that displays its components
from top to bottom. If you want a Box
that
respects the component orientation you should create the
Box
using the constructor and pass in
BoxLayout.PAGE_AXIS
, eg:
Box lineBox = new Box(BoxLayout.PAGE_AXIS);
public static Component createRigidArea(Dimension d)
d
- the dimensions of the invisible component
createGlue()
,
createHorizontalStrut(int)
,
createVerticalStrut(int)
public static Component createHorizontalStrut(int width)
width
- the width of the invisible component, in pixels >= 0
createVerticalStrut(int)
,
createGlue()
,
createRigidArea(java.awt.Dimension)
public static Component createVerticalStrut(int height)
height
- the height of the invisible component, in pixels >= 0
createHorizontalStrut(int)
,
createGlue()
,
createRigidArea(java.awt.Dimension)
public static Component createGlue()
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.
public static Component createHorizontalGlue()
public static Component createVerticalGlue()
public void setLayout(LayoutManager l)
setLayout
in class Container
l
- the layout manager to useContainer.doLayout()
,
Container.getLayout()
protected void paintComponent(Graphics g)
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
in class JComponent
g
- the Graphics
to paint to
NullPointerException
- if g
is nullJComponent.paint(java.awt.Graphics)
,
ComponentUI
public AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class JComponent
|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.