java.lang.Object
javax.swing.SizeRequirements
- 所有已实现的接口:
-
Serializable
为布局管理器的方便,计算关于组件的大小和位置的信息。所有大小和位置计算方法都是类方法,接受SizeRequirements数组作为参数。SizeRequirements类支持两种布局类型:
- tiled
- 组件被放置在一起,从坐标0(最左侧或最顶部位置)开始,或者从表示分配跨度结束的坐标(最右侧或最底部位置)开始。
- aligned
- 组件根据每个组件的X或Y对齐值进行对齐。
每个SizeRequirements对象包含关于单个组件或一组组件的宽度(和X对齐)或高度(和Y对齐)的信息:
minimum
- 组件或组件组的最小合理宽度/高度,以像素为单位。
preferred
- 组件或组件组的自然宽度/高度,以像素为单位。
maximum
- 组件或组件组的最大合理宽度/高度,以像素为单位。
alignment
- 组件或组件组的X/Y对齐。
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans
包中。请参阅XMLEncoder
。
- 自 JDK 版本:
- 1.2
- 参见:
-
Field Summary
-
Constructor Summary
ConstructorDescription创建一个SizeRequirements对象,其中最小、首选和最大尺寸均设置为零,对齐值为0.5(居中)。SizeRequirements
(int min, int pref, int max, float a) 创建一个SizeRequirements对象,其中指定了最小、首选和最大尺寸以及指定的对齐。 -
Method Summary
Modifier and TypeMethodDescriptionstatic 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) 确定放置一组组件端对端所需的总空间。toString()
返回描述最小、首选和最大尺寸要求以及对齐方式的字符串。
-
Field Details
-
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。
-
-
Constructor Details
-
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
-
-
Method Details
-
toString
返回描述最小、首选和最大尺寸要求以及对齐方式的字符串。 -
getTiledSizeRequirements
确定放置一组组件端对端所需的总空间。集合中每个组件的需求由传入的SizeRequirements数组中的条目表示。返回的SizeRequirements对象具有对齐值为0.5(居中)。空间需求永远不会超过Integer.MAX_VALUE。- 参数:
-
children
- 一组组件的空间需求。向量可能长度为零,这将导致返回一个默认的SizeRequirements对象实例。 - 返回:
- 总空间需求。
-
getAlignedSizeRequirements
确定对齐一组组件所需的总空间。集合中每个组件的需求由传入的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,则偏移量从分配空间的末端减少。 - 自 JDK 版本:
- 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表示左/顶部;当为false时,表示右/底部。 - 自版本:
- 1.4
-
adjustSizes
通过给定的量调整指定大小的数组。- 参数:
-
delta
- 指定的大小差异的int -
children
- 一个SizeRequirements对象数组 - 返回:
- 包含每个项目的最终大小的int数组
-