Module  java.desktop
软件包  javax.swing

Class Box

  • All Implemented Interfaces:
    ImageObserverMenuContainerSerializableAccessible


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

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

    如果您正在实现一个BoxLayout您可以在“Java教程”一节中 How to Use BoxLayout中找到更多信息和示例

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

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

      • createHorizontalBox

        public static Box createHorizontalBox​()
        创建一个Box显示其组件的Box 如果您想要一个Box组件方向的Box ,您应该使用构造函数创建Box ,并传入BoxLayout.LINE_AXIS ,例如:
          Box lineBox = new Box(BoxLayout.LINE_AXIS); 
        结果
        盒子
      • createVerticalBox

        public static Box createVerticalBox​()
        创建一个Box显示其组件的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​()
        创建垂直胶水组件。
        结果
        组件