javax.swing

接口
异常
java.lang.Object
  继承者 javax.swing.SizeRequirements
所有已实现的接口:
Serializable

public class SizeRequirements
     
extends Object
implements Serializable

为方便布局管理器,计算组件的有关大小和位置信息。大小和位置的所有计算方法都是将 SizeRequirements 数组作为参数的类方法。SizeRequirements 类支持两种布局类型:

平铺
组件按端到端方式放置,起点可以为坐标 0 (最左或最顶端位置)或所分配区域的末尾对应的坐标(最右或最底端位置)。
对齐
组件按每个组件的 X 或 Y 对齐值指定的方式对齐。

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

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

警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder

另请参见:
Component.getMinimumSize(), Component.getPreferredSize(), Component.getMaximumSize(), Component.getAlignmentX(), Component.getAlignmentY()

字段摘要
 float alignment
          对齐方式,指定为介于 0.0 和 1.0 之间的值,包含这两个边界值。
 int maximum
          允许的最大大小。
 int minimum
          要求的最小大小。
 int preferred
          首选(自然)大小。
 
构造方法摘要
SizeRequirements()
          创建 SizeRequirements 对象,其最小、首选和最大大小设置为零,对齐方式值为 0.5(居中)。
SizeRequirements(int min, int pref, int max, float a)
          用指定的最小、首选和最大大小以及指定的对齐方式创建 SizeRequirements 对象。
 
方法摘要
static int[] adjustSizes(int delta, SizeRequirements[] children)
          按给定总量调整指定的大小数组。
static void calculateAlignedPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)
          创建一组偏移量/区域对,指定如何按照指定对齐方式对一组组件进行布局。
static void calculateAlignedPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean normal)
          创建一组偏移量/区域对,指定如何按指定对齐方式对一组组件进行布局。
static void calculateTiledPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)
          创建一组表示如何对一组组件进行端到端布局的偏移量/区域对。
static void calculateTiledPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean forward)
          创建一组表示如何对一组组件进行端到端布局的偏移量/区域对。
static SizeRequirements getAlignedSizeRequirements(SizeRequirements[] children)
          确定对齐一组组件所需的总空间。
static SizeRequirements getTiledSizeRequirements(SizeRequirements[] children)
          确定端到端放置一组组件需要占用的总空间。
 String toString()
          返回一个描述最小、首选和最大大小以及对齐方式要求的字符串。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

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()
返回一个描述最小、首选和最大大小以及对齐方式要求的字符串。

覆盖:
Object 中的 toString
返回:
字符串

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 - 请求的子级总数。该参数是可选的,可以为 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,按从已分配空间末尾递减的偏移量平铺。

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 - 为每个子级分配的区域,它们构成了总目标区域。
从以下版本开始:
1.4

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 表示左/顶端;值为 false 时,它表示右/底端。
从以下版本开始:
1.4

adjustSizes

public static int[] adjustSizes(int delta,
                                SizeRequirements[] children)
按给定总量调整指定的大小数组。

参数:
delta - 指定大小差异的 int
children - SizeRequirements 对象的数组
返回:
包含每一项的最终大小的 int 数组