|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.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
物件或 null
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
null
,則最大大小將由元件的佈局管理器計算(對於安裝了特定佈局管理器的元件而言,這是首選方法)。此方法的預設實作調用 getPreferredSize
並返回該值。
c
- 將查詢其最大大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
Dimension
物件或 null
JComponent.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
- 為其請求基線的 JComponent
width
- 為其獲取基線的寬度height
- 為其獲取基線的高度
NullPointerException
- 如果 c
為 null
IllegalArgumentException
- 如果寬度或高度 < 0JComponent.getBaseline(int,int)
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
此方法返回 BaselineResizeBehavior.OTHER
。支持基線的子類別應該適當地進行覆寫。
c
- 為其返回調整大小行為的 JComponent
NullPointerException
- 如果 c
為 null
JComponent.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。