JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 SizeRequirements

java.lang.Object
  繼承者 javax.swing.SizeRequirements
所有已實作的介面:
Serializable

public class SizeRequirements
extends Object
implements Serializable

為方便佈局管理器,計算元件的有關大小和位置資訊。大小和位置的所有計算方法都是將 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
 

欄位詳細資訊

minimum

public int minimum
要求的最小大小。對於元件 comp,該大小應該等於 comp.getMinimumSize().widthcomp.getMinimumSize().height


preferred

public int preferred
首選(自然)大小。對於元件 comp,該大小應該等於 comp.getPreferredSize().widthcomp.getPreferredSize().height


maximum

public int maximum
允許的最大大小。對於元件 comp,該大小應該等於 comp.getMaximumSize().widthcomp.getMaximumSize().height


alignment

public float alignment
對齊方式,指定為介於 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 - 對齊方式 >= 0.0f && <= 1.0f
方法詳細資訊

toString

public String toString()
返回一個描述最小、首選和最大大小以及對齊方式要求的字元串。

覆寫:
類別 Object 中的 toString
返回:
字元串

getTiledSizeRequirements

public static SizeRequirements getTiledSizeRequirements(SizeRequirements[] children)
確定端到端放置一組元件需要佔用的總空間。集合中每個元件的要求通過傳入的 SizeRequirements 陣列中的一個條目表示。返回的 SizeRequirements 物件的對齊方式為 0.5 (居中)。所需空間永遠不會大於 Integer.MAX_VALUE。

參數:
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,按從已分派空間末尾遞減的偏移量平鋪。

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 - 為每個子級分派的區域,它們構成了總目標區域。
從以下版本開始:
1.4

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

public static int[] adjustSizes(int delta,
                                SizeRequirements[] children)
按給定總量調整指定的大小陣列。

參數:
delta - 指定大小差異的 int
children - SizeRequirements 物件的陣列
返回:
包含每一項的最終大小的 int 陣列

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only