|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.FocusTraversalPolicy
public abstract class FocusTraversalPolicy
FocusTraversalPolicy 定義一種順序,按此順序遍歷具有特定焦點循環根的 Component。實例可以將此策略應用於任意焦點循環根,允許它們在整個 Container 共享。當焦點循環根的元件層次結構更改時,不必重新初始化它們。
FocusTraversalPolicy 的核心職責是提供演算法,在 UI 中進行向前或向後遍歷時確定下一個和上一個要聚焦的 Component。每個 FocusTraversalPolicy 還必須提供演算法,確定遍歷循環中第一個、最後一個,以及預設的元件。進行正常的正向和反向遍歷時,分別使用第一個和最後一個 Component。預設的 Component 是向下遍歷到一個新的焦點遍歷循環時接收焦點的第一個 Component。FocusTraversalPolicy 可以隨意提供確定視窗初始 Component 的演算法。初始 Component 是首次將視窗設置為可見時接收焦點的第一個 Component。
FocusTraversalPolicy 會考慮焦點遍歷策略提供者。當搜尋第一個/最後一個/下一個/上一個 Component 時,如果遇到焦點遍歷策略提供者,則使用該焦點遍歷策略來執行搜尋操作。
有關更多資訊,請參閱 The Java Tutorial 中 How to Use the Focus Subsystem 一節和 Focus Specification。
Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
Container.getFocusTraversalPolicy()
,
Container.setFocusCycleRoot(boolean)
,
Container.isFocusCycleRoot(java.awt.Container)
,
Container.setFocusTraversalPolicyProvider(boolean)
,
Container.isFocusTraversalPolicyProvider()
,
KeyboardFocusManager.setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy)
,
KeyboardFocusManager.getDefaultFocusTraversalPolicy()
建構子摘要 | |
---|---|
FocusTraversalPolicy()
|
方法摘要 | |
---|---|
abstract Component |
getComponentAfter(Container aContainer,
Component aComponent)
返回應該接收 aComponent 之後的焦點的 Component,aContainer 必須是 aComponent 的焦點循環根,或者焦點遍歷策略提供者。 |
abstract Component |
getComponentBefore(Container aContainer,
Component aComponent)
返回應該接收 aComponent 之前的焦點的 Component,aContainer 必須是 aComponent 的焦點循環根,或焦點遍歷策略提供者。 |
abstract Component |
getDefaultComponent(Container aContainer)
返回要聚焦的預設 Component。 |
abstract Component |
getFirstComponent(Container aContainer)
返回遍歷循環中的第一個 Component。 |
Component |
getInitialComponent(Window window)
返回第一次將視窗設置為可見時,應該接收焦點的 Component。 |
abstract Component |
getLastComponent(Container aContainer)
返回遍歷循環中的最後一個 Component。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public FocusTraversalPolicy()
方法詳細資訊 |
---|
public abstract Component getComponentAfter(Container aContainer, Component aComponent)
aContainer
- aComponent 的焦點循環根,或焦點遍歷策略提供者aComponent
- aContainer 的子級(可能是間接的),或 aContainer 自身
IllegalArgumentException
- 如果 aContainer 不是 aComponent 的焦點循環根或焦點遍歷策略提供者,或者 aContainer 或 aComponent 為 nullpublic abstract Component getComponentBefore(Container aContainer, Component aComponent)
aContainer
- aComponent 的焦點循環根,或焦點遍歷策略提供者aComponent
- aContainer 的子級(可能是間接的),或 aContainer 自身
IllegalArgumentException
- 如果 aContainer 不是 aComponent 的焦點循環根或焦點遍歷策略提供者,或者 aContainer 或 aComponent 為 nullpublic abstract Component getFirstComponent(Container aContainer)
aContainer
- 焦點循環根,或要返回第一個 Component 的焦點遍歷策略提供者
IllegalArgumentException
- 如果 aContainer 為 nullpublic abstract Component getLastComponent(Container aContainer)
aContainer
- 焦點循環根,或要返回最後一個 Component 的焦點遍歷策略提供者
IllegalArgumentException
- 如果 aContainer 為 nullpublic abstract Component getDefaultComponent(Container aContainer)
aContainer
- 焦點循環根,或要返回其預設 Component 的焦點遍歷策略提供者
IllegalArgumentException
- 如果 aContainer 為 nullpublic Component getInitialComponent(Window window)
show()
或 setVisible(true)
將視窗設置為可見的,將不再使用初始 Component。相反,如果視窗失去焦點、隨後又重獲焦點,或者設置為不可見或不可顯示、隨後又設置為可見或可顯示,則視窗最近聚焦的 Component 將成為焦點所有者。此方法的預設實作返回預設 Component。
window
- 要返回其初始元件的 Window
IllegalArgumentException
- 如果 window 為 nullgetDefaultComponent(java.awt.Container)
,
Window.getMostRecentFocusOwner()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。