|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.swing.plaf.ComponentUI
public abstract class ComponentUI
用於 Swing 可插入外觀架構中所有 UI 委託物件的基本類別。Swing 元件的 UI 委託物件負責實作依賴於外觀的那些元件的某些方面。為了委託那些可能隨所安裝的外觀而改變的操作(繪製、佈局計算等等),JComponent 類別要調用來自此類別的方法。客戶端程序不應在此類別上直接調用這些方法。
JComponent,
UIManager| 建構子摘要 | |
|---|---|
ComponentUI()
單獨的建構子。 |
|
| 方法摘要 | |
|---|---|
boolean |
contains(JComponent c,
int x,
int y)
如果指定 x,y 位置包含在指定元件外觀的已定義形狀中,則返回 true。 |
static ComponentUI |
createUI(JComponent c)
返回指定元件的一個 UI 委託實例。 |
Accessible |
getAccessibleChild(JComponent c,
int i)
返回物件的第 i 個 Accessible 子物件。 |
int |
getAccessibleChildrenCount(JComponent c)
返回物件中的可存取子物件數。 |
int |
getBaseline(JComponent c,
int width,
int height)
返回基線。 |
Component.BaselineResizeBehavior |
getBaselineResizeBehavior(JComponent c)
返回一個列舉,指示元件的基線如何隨大小的改變而發生更改。 |
Dimension |
getMaximumSize(JComponent c)
返回指定元件的適合外觀的最大大小。 |
Dimension |
getMinimumSize(JComponent c)
返回指定元件的適合外觀的最小大小。 |
Dimension |
getPreferredSize(JComponent c)
返回指定元件的適合外觀的首選大小。 |
void |
installUI(JComponent c)
配置指定元件,使其適合外觀。 |
void |
paint(Graphics g,
JComponent c)
繪製指定元件,使其適合外觀。 |
void |
uninstallUI(JComponent c)
在 installUI 期間,在指定元件上反向執行的配置操作。 |
void |
update(Graphics g,
JComponent c)
通知此 UI 委託開始繪製指定的元件。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public ComponentUI()
| 方法詳細資訊 |
|---|
public void installUI(JComponent c)
ComponentUI 實例將作為 UI 委託安裝在指定元件上時,可調用此方法。此方法應該為外觀完整地配置元件,包括以下方面:
LayoutManager。
PropertyChangeListener。
c - 將安裝此 UI 委託的元件uninstallUI(javax.swing.JComponent),
JComponent.setUI(javax.swing.plaf.ComponentUI),
JComponent.updateUI()public void uninstallUI(JComponent c)
installUI 期間,在指定元件上反向執行的配置操作。當此 UIComponent 實例將作為 UI 委託從指定元件上移除時,可調用此方法。此方法應該取消在 installUI 中執行的配置操作,非常小心地使 JComponent 實例處於某種潔淨狀態(沒有額外的偵聽器、沒有特定於外觀的屬性物件等等)。配置內容應該套件括以下方面:
c - 從中移除此 UI 委託的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數installUI(javax.swing.JComponent),
JComponent.updateUI()
public void paint(Graphics g,
JComponent c)
ComponentUI.update 方法中調用此方法。子類別應該覆寫此方法並使用指定 Graphics 物件來呈現元件的內容。
g - 將在其中進行繪製的 Graphics 上下文c - 將繪製的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數update(java.awt.Graphics, javax.swing.JComponent)
public void update(Graphics g,
JComponent c)
JComponent 調用此方法。預設情況下,此方法將使用其背景色填充指定元件(如果其 opaque 屬性為 true),然後立刻調用 paint。通常無需由子類別覆寫此方法;所有呈現程式碼的外觀都應位於 paint 方法中。
g - 將在其中進行繪製的 Graphics 上下文c - 將繪製的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數paint(java.awt.Graphics, javax.swing.JComponent),
JComponent.paintComponent(java.awt.Graphics)public Dimension getPreferredSize(JComponent c)
null,則首選大小將由元件的佈局管理器計算(對於安裝了特定佈局管理器的元件而言,這是首選方法)。此方法的預設實作返回 null。
c - 將查詢其首選大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數JComponent.getPreferredSize(),
LayoutManager.preferredLayoutSize(java.awt.Container)public Dimension getMinimumSize(JComponent c)
null,則最小大小將由元件的佈局管理器計算(對於安裝了特定佈局管理器的元件而言,這是首選方法)。此方法的預設實作調用 getPreferredSize 並返回該值。
c - 將查詢其最小大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
Dimension 物件或 nullJComponent.getMinimumSize(),
LayoutManager.minimumLayoutSize(java.awt.Container),
getPreferredSize(javax.swing.JComponent)public Dimension getMaximumSize(JComponent c)
null,則最大大小將由元件的佈局管理器計算(對於安裝了特定佈局管理器的元件而言,這是首選方法)。此方法的預設實作調用 getPreferredSize 並返回該值。
c - 將查詢其最大大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
Dimension 物件或 nullJComponent.getMaximumSize(),
LayoutManager2.maximumLayoutSize(java.awt.Container)
public boolean contains(JComponent c,
int x,
int y)
true。x 和 y 都是相對於指定元件的坐標系統定義的。儘管元件的 bounds 被限制為一個矩形,但為了進行命中檢測,此方法提供了在這些邊界內定義非矩形形狀的辦法。
c - 將在其中查詢 x,y 的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數x - 點的 x 坐標y - 點的 y 坐標JComponent.contains(int, int),
Component.contains(int, int)public static ComponentUI createUI(JComponent c)
createUI 方法,該方法返回 UI 委託子類別的一個實例。如果 UI 委託子類別是無狀態的,則該方法可以返回一個由多個元件共享的實例。如果 UI 委託是有狀態的,則該方法應該為每個元件返回一個新實例。此方法的預設實作拋出一個錯誤,因為它永遠都不應該被調用。
public int getBaseline(JComponent c,
int width,
int height)
LayoutManager 用來沿其基線對齊元件。小於 0 的返回值指示此元件不具有合理的基線以及 LayoutManager 不應在其基線上對齊此元件。
此方法返回 -1。具有有意義的基線的子類別應該適當地進行覆寫。
c - 為其請求基線的 JComponentwidth - 為其獲取基線的寬度height - 為其獲取基線的高度
NullPointerException - 如果 c 為 null
IllegalArgumentException - 如果寬度或高度 < 0JComponent.getBaseline(int,int)public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
此方法返回 BaselineResizeBehavior.OTHER。支持基線的子類別應該適當地進行覆寫。
c - 為其返回調整大小行為的 JComponent
NullPointerException - 如果 c 為 nullJComponent.getBaseline(int, int)public int getAccessibleChildrenCount(JComponent c)
Accessible,那麼此方法應返回此物件的子物件數。如果 UI 在可看作元件的螢幕上呈現一些區域,那麼它們可能希望覆寫此方法,但實際元件並不用於呈現那些區域。
註:從 v1.3 開始,建議開發人員調用 Component.AccessibleAWTComponent.getAccessibleChildrenCount() 替代此方法。
getAccessibleChild(javax.swing.JComponent, int)
public Accessible getAccessibleChild(JComponent c,
int i)
i 個 Accessible 子物件。如果 UI 在可看作元件的螢幕上呈現一些區域,那麼它們可能需要覆寫此方法,但實際元件並不用於呈現那些區域。
註:從 v1.3 開始,建議開發人員調用 Component.AccessibleAWTComponent.getAccessibleChild() 替代此方法。
i - 子物件的從零開始的索引
i 個 Accessible 子物件getAccessibleChildrenCount(javax.swing.JComponent)
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。