模块  java.desktop
软件包  javax.swing

Class SizeRequirements

  • 实现的所有接口
    Serializable

    public class SizeRequirements
    extends Object
    implements Serializable
    为方便布局管理器,计算有关组件大小和位置的信息。 所有大小和位置计算方法都是将SizeRequirements数组作为参数的类方法。 SizeRequirements类支持两种类型的布局:
    tiled
    The components are placed end-to-end, starting either at coordinate 0 (the leftmost or topmost position) or at the coordinate representing the end of the allocated span (the rightmost or bottommost position).
    aligned
    The components are aligned as specified by each component's X or Y alignment value.

    每个SizeRequirements对象都包含有关单个组件或一组组件的宽度(和X对齐)或高度(和Y对齐)的信息:

    minimum
    The smallest reasonable width/height of the component or component group, in pixels.
    preferred
    The natural width/height of the component or component group, in pixels.
    maximum
    The largest reasonable width/height of the component or component group, in pixels.
    alignment
    The X/Y alignment of the component or component group.

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

    从以下版本开始:
    1.2
    另请参见:
    Component.getMinimumSize()Component.getPreferredSize()Component.getMaximumSize()Component.getAlignmentX()Component.getAlignmentY()Serialized Form
    • 字段详细信息

      • minimum

        public int minimum
        所需的最小尺寸。 对于组件comp ,这应该等于comp.getMinimumSize().widthcomp.getMinimumSize().height
      • preferred

        public int preferred
        首选(自然)尺寸。 对于组件comp ,它应该等于comp.getPreferredSize().widthcomp.getPreferredSize().height
      • maximum

        public int maximum
        允许的最大尺寸。 对于组件comp ,这应该等于comp.getMaximumSize().widthcomp.getMaximumSize().height
      • alignment

        public float alignment
        对齐,指定为介于0.0和1.0之间的值(包括0.0和1.0)。 要指定居中,对齐应为0.5。
    • 构造方法详细信息

      • SizeRequirements

        public SizeRequirements()
        创建一个SizeRequirements对象,其最小,首选和最大大小设置为零,对齐值为0.5(居中)。
      • SizeRequirements

        public SizeRequirements​(int min,
                                int pref,
                                int max,
                                float a)
        使用指定的最小,首选和最大大小以及指定的对齐方式创建SizeRequirements对象。
        参数
        min - 最小尺寸> = 0
        pref - 首选大小> = 0
        max - 最大大小> = 0
        a - alignment> = 0.0f && <= 1.0f
    • 方法详细信息

      • toString

        public String toString()
        返回描述最小,首选和最大大小要求的字符串以及对齐方式。
        重写:
        toString在课程 Object
        结果
        字符串
      • getTiledSizeRequirements

        public static SizeRequirements getTiledSizeRequirements​(SizeRequirements[] children)
        确定端到端放置一组组件所需的总空间。 集合中每个组件的需求由传入的SizeRequirements数组中的条目表示。 返回的SizeRequirements对象的对齐方式为0.5(居中)。 空间要求绝不会超过Integer.MAX_VALUE。
        参数
        children - children的空间要求。 向量可以是零长度,这将导致传递回默认的SizeRequirements对象实例。
        结果
        总空间要求。
      • getAlignedSizeRequirements

        public static SizeRequirements getAlignedSizeRequirements​(SizeRequirements[] children)
        确定对齐一组组件所需的总空间。 集合中每个组件的需求由传入的SizeRequirements数组中的条目表示。 所需的总空间永远不会超过Integer.MAX_VALUE。
        参数
        children - 子要求集。 如果长度为零,则返回结果将是SizeRequirements的默认实例。
        结果
        总空间要求。
      • calculateTiledPositions

        public static void calculateTiledPositions​(int allocated,
                                                   SizeRequirements total,
                                                   SizeRequirements[] children,
                                                   int[] offsets,
                                                   int[] spans)
        创建一组偏移/跨度对,表示如何端到端布局一组组件。 此方法要求您指定要分配的空间总量,要放置的每个组件的大小要求(指定为SizeRequirements数组)以及组件集的总大小要求。 您可以通过调用getTiledSizeRequirements方法来获取总大小要求。 组件将在向前方向上平铺,偏移量从0开始增加。
        参数
        allocated - 要分配的总跨度> = 0。
        total - 子请求的总数。 此参数是可选的,可以为null。
        children - 每个组件的大小要求。
        offsets - 分配了跨度的每个子项的偏移量为0(确定跨度的位置)。
        spans - 为每个子项分配的跨度,以计算总目标跨度。
      • calculateTiledPositions

        public static void calculateTiledPositions​(int allocated,
                                                   SizeRequirements total,
                                                   SizeRequirements[] children,
                                                   int[] offsets,
                                                   int[] spans,
                                                   boolean forward)
        创建一组偏移/跨度对,表示如何端到端布局一组组件。 此方法要求您指定要分配的空间总量,要放置的每个组件的大小要求(指定为SizeRequirements数组)以及组件集的总大小要求。 您可以通过调用getTiledSizeRequirements方法来获取总大小要求。 该方法还需要一个标志,指示组件是应该在正向方向上平铺(偏移量从0开始增加)还是反向方向(偏移量从分配空间结束时减少)。 向前方向表示从左到右或从上到下平铺的组件。 反方向表示从右到左或从下到上平铺的组件。
        参数
        allocated - 要分配的总跨度> = 0。
        total - 子请求的总数。 此参数是可选的,可以为null。
        children - 每个组件的大小要求。
        offsets - 分配了跨度的每个子项的偏移量为0(确定跨度的位置)。
        spans - 为每个子项分配的跨度,以计算总目标跨度。
        forward - 如果为true,则偏移量从0开始增加,并且偏移量从分配空间的末尾开始减少(如果为false)。
        从以下版本开始:
        1.4
      • calculateAlignedPositions

        public static void calculateAlignedPositions​(int allocated,
                                                     SizeRequirements total,
                                                     SizeRequirements[] children,
                                                     int[] offsets,
                                                     int[] spans)
        创建一组偏移/跨度对,指定如何使用指定的对齐布置一组组件。 得到的跨度分配将重叠,每个分配尽可能适合给定的总分配。 此方法要求您指定要分配的空间总量,要放置的每个组件的大小要求(指定为SizeRequirements数组),以及组件集的总大小要求(仅对齐字段)实际上是用过)。 您可以通过调用getAlignedSizeRequirements来获取总大小要求。 正常对齐将使用0.0f的对齐值来表示组件的左/上边缘。
        参数
        allocated - 要分配的总跨度> = 0。
        total - 子请求的总数。
        children - 每个组件的大小要求。
        offsets - 分配了跨度的每个子项的偏移量为0(确定跨度的位置)。
        spans - 为每个子项分配的跨度,以计算总目标跨度。
      • calculateAlignedPositions

        public static void calculateAlignedPositions​(int allocated,
                                                     SizeRequirements total,
                                                     SizeRequirements[] children,
                                                     int[] offsets,
                                                     int[] spans,
                                                     boolean normal)
        创建一组偏移/跨度对,指定如何使用指定的对齐布置一组组件。 得到的跨度分配将重叠,每个分配尽可能适合给定的总分配。 此方法要求您指定要分配的空间总量,要放置的每个组件的大小要求(指定为SizeRequirements数组),以及组件集的总大小要求(仅对齐字段)实际使用)您可以通过调用getAlignedSizeRequirements来获取总大小要求。 该方法还需要一个标志,指示是否应该执行正常或反向对齐。 在正常对齐时,值0.0f表示要对齐的组件的左/上边缘。 使用反向对齐,0.0f表示右/底边。
        参数
        allocated - 要分配的总跨度> = 0。
        total - 子请求的总数。
        children - 每个组件的大小要求。
        offsets - 分配了跨度的每个子项的偏移量为0(确定跨度的位置)。
        spans - 为每个子项分配的跨度,以计算总目标跨度。
        normal - 当为真时,对齐值0.0f表示左/上; 如果是假,则表示右/底。
        从以下版本开始:
        1.4
      • adjustSizes

        public static int[] adjustSizes​(int delta,
                                        SizeRequirements[] children)
        按指定的数量调整指定的大小数组。
        参数
        delta - 指定大小差异的int
        children - SizeRequirements对象的数组
        结果
        包含每个项目的最终大小的int数组