java.lang.Object javax.swing.SizeRequirements
public class SizeRequirements
为方便布局管理器,计算组件的有关大小和位置信息。大小和位置的所有计算方法都是将 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 |
字段详细信息 |
---|
public int minimum
comp
,该大小应该等于
comp.getMinimumSize().width
或
comp.getMinimumSize().height
。
public int preferred
comp
,该大小应该等于
comp.getPreferredSize().width
或
comp.getPreferredSize().height
。
public int maximum
comp
,该大小应该等于
comp.getMaximumSize().width
或
comp.getMaximumSize().height
。
public float alignment
构造方法详细信息 |
---|
public SizeRequirements()
public SizeRequirements(int min, int pref, int max, float a)
min
- 最小大小 >= 0
pref
- 首选大小 >= 0
max
- 最大大小 >= 0
a
- 对齐方式 >= 0.0f && <= 1.0f
方法详细信息 |
---|
public String toString()
public static SizeRequirements getTiledSizeRequirements(SizeRequirements[] children)
children
- 一组组件的空间要求。该向量可以是零长度,它将导致传回一个默认的 SizeRequirements 对象实例。
public static SizeRequirements getAlignedSizeRequirements(SizeRequirements[] children)
children
- 所需的子级集合。如果长度为零,返回的结果将是一个默认的 SizeRequirements 实例。
public static void calculateTiledPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)
allocated
- 要分配的总区域 >= 0。
total
- 请求的子级总数。该参数是可选的,可以为 null。
children
- 每个组件的大小要求。
offsets
- 每个子级相对于 0 的偏移量,用于分配区域(确定区域的放置)。
spans
- 为每个子级分配的区域,它们构成了总目标区域。
public static void calculateTiledPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean forward)
allocated
- 要分配的总区域 >= 0。
total
- 请求的子级总数。该参数是可选的,可以为 null。
children
- 每个组件的大小要求。
offsets
- 每个子级相对于 0 的偏移量,用于分配区域(确定区域的放置)。
spans
- 为每个子级分配的区域,它们构成了总目标区域。
forward
- 如果为 true,按从 0 递增的偏移量平铺;如果为 false,按从已分配空间末尾递减的偏移量平铺。
public static void calculateAlignedPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)
allocated
- 要分配的总区域 >= 0。
total
- 请求的子级总数。
children
- 每个组件的大小要求。
offsets
- 每个子级相对于 0 的偏移量,用于分配区域(确定区域的放置)。
spans
- 为每个子级分配的区域,它们构成了总目标区域。
public static void calculateAlignedPositions(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean normal)
allocated
- 要分配的总区域 >= 0。
total
- 请求的子级总数。
children
- 每个组件的大小要求。
offsets
- 区域分配位置每个子级相对于 0 的偏移(确定区域的放置)。
spans
- 为每个子级分配的区域,它们构成了总目标区域。
normal
- 值为 true 时,对齐方式值 0.0f 表示左/顶端;值为 false 时,它表示右/底端。
public static int[] adjustSizes(int delta, SizeRequirements[] children)
delta
- 指定大小差异的 int
children
- SizeRequirements 对象的数组