- java.lang.Object
-
- javax.swing.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
软件包中添加了对所有JavaBeansjava.beans
长期存储的支持。 请参阅XMLEncoder
。
-
-
构造方法摘要
构造方法 构造器 描述 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()
返回描述最小,首选和最大大小要求的字符串以及对齐方式。
-
-
-
字段详细信息
-
minimum
public int minimum
所需的最小尺寸。 对于组件comp
,这应该等于comp.getMinimumSize().width
或comp.getMinimumSize().height
。
-
preferred
public int preferred
首选(自然)尺寸。 对于组件comp
,它应该等于comp.getPreferredSize().width
或comp.getPreferredSize().height
。
-
maximum
public int maximum
允许的最大尺寸。 对于组件comp
,这应该等于comp.getMaximumSize().width
或comp.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
-
-
方法详细信息
-
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数组
-
-