- java.lang.Object
-
- javax.swing.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
。
-
-
构造方法摘要
构造方法 Constructor 描述 SizeRequirements()
创建一个SizeRequirements对象,其最小,首选和最大大小设置为零,对齐值为0.5(居中)。SizeRequirements(int min, int pref, int max, float a)
创建一个SizeRequirements对象,具有指定的最小,首选和最大大小以及指定的对齐方式。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 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和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,则从已分配空间的末尾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数组
-
-