- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.Box
-
- 实现的所有接口
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
@JavaBean(defaultProperty="accessibleContext") public class Box extends JComponent implements Accessible
一个轻量级容器,它使用BoxLayout对象作为其布局管理器。 Box提供了几种类方法,这些方法对于使用BoxLayout的容器非常有用 - 甚至是非Box容器。Box
类可以创建几种影响布局的不可见组件:胶水,支柱和刚性区域。 如果Box
包含的所有组件都具有固定大小,则可能需要使用粘合组件(由createGlue
返回)来控制组件的位置。 如果两个组件之间需要固定的空间,请尝试使用支柱(createHorizontalStrut
或createVerticalStrut
)。 如果您需要一个总是占用相同空间量的不可见组件,请通过调用createRigidArea
获取它。如果要实现一个
BoxLayout
,您可以找到进一步的信息和例子How to Use BoxLayout ,在Java教程的部分。警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始,
java.beans
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
BoxLayout
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
Box.AccessibleBox
此类实现Box
类的可访问性支持。static class
Box.Filler
轻量级组件的实现,它参与布局但没有视图。-
嵌套类/接口声明在类 javax.swing.JComponent
JComponent.AccessibleJComponent
-
嵌套类/接口声明在类 java.awt.Container
Container.AccessibleAWTContainer
-
-
字段汇总
-
声明的属性在类 javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
声明的属性在类 java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 构造器 描述 Box(int axis)
创建一个Box
,沿指定轴显示其组件。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 static Component
createGlue()
创建一个不可见的“胶水”组件,该组件在Box中可用,其可见组件具有最大宽度(对于水平框)或高度(对于垂直框)。static Box
createHorizontalBox()
创建一个Box
显示其组件的Box
。static Component
createHorizontalGlue()
创建水平胶组件。static Component
createHorizontalStrut(int width)
创建一个不可见的固定宽度组件。static Component
createRigidArea(Dimension d)
创建一个始终为指定大小的不可见组件。static Box
createVerticalBox()
创建一个Box
显示其组件的Box
。static Component
createVerticalGlue()
创建垂直胶水组件。static Component
createVerticalStrut(int height)
创建一个不可见的固定高度组件。AccessibleContext
getAccessibleContext()
获取与此Box关联的AccessibleContext。protected void
paintComponent(Graphics g)
这个Box
。void
setLayout(LayoutManager l)
抛出AWTError,因为Box只能使用BoxLayout。-
声明方法的类 javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
-
声明方法的类 java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
-
声明方法的类 java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
构造方法详细信息
-
Box
public Box(int axis)
创建一个Box
,沿指定轴显示其组件。- 参数
-
axis
-可能是BoxLayout.X_AXIS
,BoxLayout.Y_AXIS
,BoxLayout.LINE_AXIS
或BoxLayout.PAGE_AXIS
。 - 异常
-
AWTError
- 如果axis
无效 - 另请参见:
-
createHorizontalBox()
,createVerticalBox()
-
-
方法详细信息
-
createHorizontalBox
public static Box createHorizontalBox()
创建一个Box
显示其组件的Box
。 如果你想要一个尊重组件方向的Box
,你应该使用构造函数创建Box
并传入BoxLayout.LINE_AXIS
,例如:Box lineBox = new Box(BoxLayout.LINE_AXIS);
- 结果
- 盒子
-
createVerticalBox
public static Box createVerticalBox()
创建一个Box
显示其组件的Box
。 如果你想要一个尊重组件方向的Box
,你应该使用构造函数创建Box
并传入BoxLayout.PAGE_AXIS
,例如:Box lineBox = new Box(BoxLayout.PAGE_AXIS);
- 结果
- 盒子
-
createRigidArea
public static Component createRigidArea(Dimension d)
创建一个始终为指定大小的不可见组件。- 参数
-
d
- 不可见组件的尺寸 - 结果
- 组件
- 另请参见:
-
createGlue()
,createHorizontalStrut(int)
,createVerticalStrut(int)
-
createHorizontalStrut
public static Component createHorizontalStrut(int width)
创建一个不可见的固定宽度组件。 在水平框中,通常使用此方法在两个组件之间强制使用一定量的空间。 在垂直框中,您可以使用此方法强制框至少为指定的宽度。 除非有多余的空间,否则隐形组件没有高度,在这种情况下,它占用可用空间的份额,就像任何其他没有最大高度的组件一样。- 参数
-
width
- 不可见组件的宽度,以像素为单位> = 0 - 结果
- 组件
- 另请参见:
-
createVerticalStrut(int)
,createGlue()
,createRigidArea(java.awt.Dimension)
-
createVerticalStrut
public static Component createVerticalStrut(int height)
创建一个不可见的固定高度组件。 在垂直框中,通常使用此方法在两个组件之间强制使用一定量的空间。 在水平框中,您可以使用此方法强制该框至少为指定的高度。 除非有多余的空间,否则不可见组件没有宽度,在这种情况下,它占用可用空间的份额,就像任何其他没有最大宽度的组件一样。- 参数
-
height
- 不可见组件的高度,以像素为单位> = 0 - 结果
- 组件
- 另请参见:
-
createHorizontalStrut(int)
,createGlue()
,createRigidArea(java.awt.Dimension)
-
createGlue
public static Component createGlue()
创建一个不可见的“胶水”组件,该组件在Box中可用,其可见组件具有最大宽度(对于水平框)或高度(对于垂直框)。 您可以将胶水成分视为一种粘性物质,可以根据需要进行扩展,以填充其相邻组件之间的空间。例如,假设您有一个包含两个固定大小组件的水平框。 如果盒子有额外的空间,固定大小的组件不会变大,那么多余的空间去哪儿了? 没有胶水,额外的空间会到达第二个组件的右侧。 如果你在固定尺寸的组件之间放胶水,那么额外的空间就在那里。 如果您在第一个固定尺寸组件之前放置胶水,则会有额外的空间,并且固定尺寸的组件会被推到盒子的右边缘。 如果在第一个固定尺寸组件之前和第二个固定尺寸组件之后放置胶水,则固定尺寸组件将在框中居中。
要使用胶水,请致电
Box.createGlue
并将返回的组件添加到容器中。 胶水组件没有最小尺寸或优选尺寸,因此除非有足够的空间,否则它不会占用空间。 如果有足够的空间,那么胶水组件将占用可用的水平或垂直空间,就像任何其他没有最大宽度或高度的组件一样。- 结果
- 组件
-
createHorizontalGlue
public static Component createHorizontalGlue()
创建水平胶组件。- 结果
- 组件
-
createVerticalGlue
public static Component createVerticalGlue()
创建垂直胶水组件。- 结果
- 组件
-
setLayout
public void setLayout(LayoutManager l)
抛出AWTError,因为Box只能使用BoxLayout。- 重写:
-
setLayout
在课程Container
- 参数
-
l
- 要使用的布局管理器 - 另请参见:
-
Container.doLayout()
,Container.getLayout()
,Container.invalidate()
-
paintComponent
protected void paintComponent(Graphics g)
这个Box
。 如果此Box
具有UI,则此方法调用super的实现,否则如果此Box
是不透明的,则使用背景填充Graphics
。- 重写:
-
paintComponent
在类JComponent
- 参数
-
g
- 绘制到Graphics
- 异常
-
NullPointerException
- 如果g
为空 - 从以下版本开始:
- 1.6
- 另请参见:
-
JComponent.paint(java.awt.Graphics)
,ComponentUI
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
获取与此Box关联的AccessibleContext。 对于框,AccessibleContext采用AccessibleBox的形式。 如有必要,将创建一个新的AccessibleAWTBox实例。- Specified by:
-
getAccessibleContext
在界面Accessible
- 重写:
-
getAccessibleContext
,类Component
- 结果
- 一个AccessibleBox,用作此Box的AccessibleContext
-
-