Module  java.desktop
软件包  javax.swing

Class SizeRequirements

  • All Implemented Interfaces:
    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开始,支持所有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和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​()
        返回描述最小,首选和最大大小要求的字符串以及对齐方式。
        重写:
        toStringObject
        结果
        字符串
      • 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,则从已分配空间的末尾 forward偏移量的图块。
        从以下版本开始:
        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 - 当为true时,对齐值0.0f表示左/顶; 当错误时,表示右/底。
        从以下版本开始:
        1.4
      • adjustSizes

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