- 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 voidcalculateAlignedPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)创建一堆偏移/跨度对,指定如何使用指定的对齐方式布置一组组件。static voidcalculateAlignedPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean normal)创建一组偏移/跨度对,指定如何使用指定的对齐方式布置一组组件。static voidcalculateTiledPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)创建一组偏移/跨度对,这些偏移/跨度对代表端到端布局一组组件。static voidcalculateTiledPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean forward)创建一组偏移/跨度对,这些偏移/跨度对代表端到端布局一组组件。static SizeRequirementsgetAlignedSizeRequirements(SizeRequirements[] children)确定对齐一组组件所需的总空间。static SizeRequirementsgetTiledSizeRequirements(SizeRequirements[] children)确定端点到端放置一组组件所需的总空间。StringtoString()返回描述最小,首选和最大大小要求的字符串以及对齐方式。
-
-
-
字段详细信息
-
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数组
-
-