模块  java.desktop
软件包  javax.swing

Class Box

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    @JavaBean(defaultProperty="accessibleContext")
    public class Box
    extends JComponent
    implements Accessible
    一个轻量级容器,它使用BoxLayout对象作为其布局管理器。 Box提供了几种类方法,这些方法对于使用BoxLayout的容器非常有用 - 甚至是非Box容器。

    Box类可以创建几种影响布局的不可见组件:胶水,支柱和刚性区域。 如果Box包含的所有组件都具有固定大小,则可能需要使用粘合组件(由createGlue返回)来控制组件的位置。 如果两个组件之间需要固定的空间,请尝试使用支柱( createHorizontalStrutcreateVerticalStrut )。 如果您需要一个总是占用相同空间量的不可见组件,请通过调用createRigidArea获取它。

    如果要实现一个BoxLayout ,您可以找到进一步的信息和例子How to Use BoxLayout ,在Java教程的部分

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    从以下版本开始:
    1.2
    另请参见:
    BoxLayoutSerialized Form
    • 方法详细信息

      • 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); 
        结果
        盒子
      • 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()
        创建垂直胶水组件。
        结果
        组件