- 所有已实现的接口:
ImageObserver,MenuContainer,Serializable,Accessible
Box 类可以创建几种影响布局的不可见组件:胶水、支柱和刚性区域。如果您的 Box 包含的所有组件都具有固定大小,您可能需要使用胶水组件(由 createGlue 返回)来控制组件的位置。如果您需要两个组件之间的固定空间量,请尝试使用支柱(createHorizontalStrut 或 createVerticalStrut)。如果您需要一个始终占用相同空间量的不可见组件,请通过调用 createRigidArea 来获取它。
如果您正在实施 BoxLayout,您可以在 如何使用BoxLayout 中找到更多信息和示例,这是 The Java Tutorial. 中的一个部分
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
- 自从:
- 1.2
- 参见:
-
内部类总结
内部类修饰符和类型类描述protected class此类为Box类实现辅助功能支持。static class参与布局但没有视图的轻量级组件的实现。在类 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在接口 java.awt.image.ImageObserver 中声明的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述static Component创建一个不可见的“胶水”组件,该组件在可见组件具有最大宽度(对于水平框)或高度(对于垂直框)的 Box 中很有用。static Box创建一个从左到右显示其组件的Box。static Component创建一个水平粘合组件。static ComponentcreateHorizontalStrut(int width) 创建一个不可见的、固定宽度的组件。static Component创建一个始终为指定大小的不可见组件。static Box创建一个从上到下显示其组件的Box。static Component创建垂直粘合组件。static ComponentcreateVerticalStrut(int height) 创建一个不可见的、固定高度的组件。获取与此 Box 关联的 AccessibleContext。protected void画这个Box。void抛出 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, hide, 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, 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
创建一个从左到右显示其组件的Box。如果你想要一个尊重组件方向的Box,你应该使用构造函数创建Box并传入BoxLayout.LINE_AXIS,例如:Box lineBox = new Box(BoxLayout.LINE_AXIS);
- 返回:
- 盒子
-
createVerticalBox
创建一个从上到下显示其组件的Box。如果你想要一个尊重组件方向的Box,你应该使用构造函数创建Box并传入BoxLayout.PAGE_AXIS,例如:Box lineBox = new Box(BoxLayout.PAGE_AXIS);
- 返回:
- 盒子
-
createRigidArea
创建一个始终为指定大小的不可见组件。- 参数:
d- 不可见组件的尺寸- 返回:
- 组件
- 参见:
-
createHorizontalStrut
创建一个不可见的、固定宽度的组件。在水平盒子中,您通常使用此方法在两个组件之间强制留出一定量的空间。在垂直盒子中,您可以使用此方法强制盒子至少为指定宽度。除非有多余空间可用,否则不可见组件没有高度,在这种情况下,它占用可用空间的份额,就像任何其他没有最大高度的组件一样。- 参数:
width- 不可见组件的宽度,以像素为单位 >= 0- 返回:
- 组件
- 参见:
-
createVerticalStrut
创建一个不可见的、固定高度的组件。在垂直盒子中,您通常使用此方法在两个组件之间强制留出一定量的空间。在水平盒子中,您可以使用此方法强制盒子至少达到指定的高度。除非有多余空间可用,否则不可见组件没有宽度,在这种情况下,它占用可用空间的份额,就像任何其他没有最大宽度的组件一样。- 参数:
height- 不可见组件的高度,以像素为单位 >= 0- 返回:
- 组件
- 参见:
-
createGlue
创建一个不可见的“胶水”组件,该组件在可见组件具有最大宽度(对于水平框)或高度(对于垂直框)的 Box 中很有用。您可以将胶水组件视为一种粘性物质,它会根据需要膨胀以填充其相邻组件之间的空间。例如,假设您有一个包含两个固定大小组件的水平框。如果盒子得到了额外的空间,固定大小的组件不会变大,那么额外的空间去哪儿了?如果没有胶水,额外的空间将位于第二个组件的右侧。如果您在固定大小的组件之间放置胶水,那么额外的空间就会放在那里。如果你在第一个固定大小的组件之前放置胶水,额外的空间就会放在那里,并且固定大小的组件会被推到盒子的右边缘。如果您在第一个固定尺寸组件之前和第二个固定尺寸组件之后放置胶水,则固定尺寸组件将在框内居中。
要使用胶水,请调用
Box.createGlue并将返回的组件添加到容器中。胶水组件没有最小或首选大小,因此除非有多余空间可用,否则它不会占用空间。如果有多余的空间可用,则粘合组件会占据可用的水平或垂直空间的份额,就像任何其他没有最大宽度或高度的组件一样。- 返回:
- 组件
-
createHorizontalGlue
创建一个水平粘合组件。- 返回:
- 组件
-
createVerticalGlue
创建垂直粘合组件。- 返回:
- 组件
-
setLayout
抛出 AWTError,因为 Box 只能使用 BoxLayout。 -
paintComponent
画这个Box。如果这个Box有一个 UI,这个方法调用 super 的实现,否则如果这个Box是不透明的,那么Graphics使用背景填充。- 重写:
paintComponent在类JComponent中- 参数:
g- 要绘制的Graphics- 抛出:
NullPointerException- 如果g为空- 自从:
- 1.6
- 参见:
-
getAccessibleContext
获取与此 Box 关联的 AccessibleContext。对于框,AccessibleContext 采用 AccessibleBox 的形式。如有必要,将创建一个新的 AccessibleAWTBox 实例。- 指定者:
getAccessibleContext在接口Accessible中- 重写:
getAccessibleContext在类Component中- 返回:
- 作为此 Box 的 AccessibleContext 的 AccessibleBox
-