模块 java.desktop

类 SizeRequirements

java.lang.Object
javax.swing.SizeRequirements
所有已实现的接口:
Serializable

public class SizeRequirements extends Object implements Serializable
为了方便布局管理器,计算有关组件大小和位置的信息。所有尺寸和位置计算方法都是以 SizeRequirements 数组作为参数的类方法。 SizeRequirements 类支持两种类型的布局:
tiled
组件端到端放置,从坐标 0(最左边或最上面的位置)开始,或者从表示分配跨度结束的坐标(最右边或最下面的位置)开始。
对齐
组件按照每个组件的 X 或 Y 对齐值指定对齐。

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

minimum
组件或组件组的最小合理宽度/高度,以像素为单位。
preferred
组件或组件组的自然宽度/高度,以像素为单位。
maximum
组件或组件组的最大合理宽度/高度,以像素为单位。
alignment
组件或组件组的 X/Y 对齐方式。

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

自从:
1.2
参见:
  • 字段详细信息

    • 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.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 - 对齐 >= 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 - 一组组件的空间要求。向量的长度可能为零,这将导致传回默认的 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 - 子请求的总数。此参数是可选的,可以为空。
      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 - 子请求的总数。此参数是可选的,可以为空。
      children - 每个组件的尺寸要求。
      offsets - 分配跨度的每个子节点从 0 开始的偏移量(确定跨度的位置)。
      spans - 为每个孩子分配的跨度,以构成总目标跨度。
      forward - 如果为真,则偏移量从 0 开始增加,如果为假,则偏移量从分配空间的末尾开始减少。
      自从:
      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 对象数组
      返回:
      包含每个项目的最终大小的整数数组