JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 FocusTraversalPolicy

java.lang.Object
  繼承者 java.awt.FocusTraversalPolicy
直接已知子類別:
ContainerOrderFocusTraversalPolicy, InternalFrameFocusTraversalPolicy

public abstract class FocusTraversalPolicy
extends Object

FocusTraversalPolicy 定義一種順序,按此順序遍歷具有特定焦點循環根的 Component。實例可以將此策略應用於任意焦點循環根,允許它們在整個 Container 共享。當焦點循環根的元件層次結構更改時,不必重新初始化它們。

FocusTraversalPolicy 的核心職責是提供演算法,在 UI 中進行向前或向後遍歷時確定下一個和上一個要聚焦的 Component。每個 FocusTraversalPolicy 還必須提供演算法,確定遍歷循環中第一個、最後一個,以及預設的元件。進行正常的正向和反向遍歷時,分別使用第一個和最後一個 Component。預設的 Component 是向下遍歷到一個新的焦點遍歷循環時接收焦點的第一個 Component。FocusTraversalPolicy 可以隨意提供確定視窗初始 Component 的演算法。初始 Component 是首次將視窗設置為可見時接收焦點的第一個 Component。

FocusTraversalPolicy 會考慮焦點遍歷策略提供者。當搜尋第一個/最後一個/下一個/上一個 Component 時,如果遇到焦點遍歷策略提供者,則使用該焦點遍歷策略來執行搜尋操作。

有關更多資訊,請參閱 The Java TutorialHow to Use the Focus Subsystem 一節和 Focus Specification

從以下版本開始:
1.4
另請參見:
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
 

建構子詳細資訊

FocusTraversalPolicy

public FocusTraversalPolicy()
方法詳細資訊

getComponentAfter

public abstract Component getComponentAfter(Container aContainer,
                                            Component aComponent)
返回應該接收 aComponent 之後的焦點的 Component,aContainer 必須是 aComponent 的焦點循環根,或者焦點遍歷策略提供者。

參數:
aContainer - aComponent 的焦點循環根,或焦點遍歷策略提供者
aComponent - aContainer 的子級(可能是間接的),或 aContainer 自身
返回:
應該接收 aComponent 之後的焦點的 Component,如果無法找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦點循環根或焦點遍歷策略提供者,或者 aContainer 或 aComponent 為 null

getComponentBefore

public abstract Component getComponentBefore(Container aContainer,
                                             Component aComponent)
返回應該接收 aComponent 之前的焦點的 Component,aContainer 必須是 aComponent 的焦點循環根,或焦點遍歷策略提供者。

參數:
aContainer - aComponent 的焦點循環根,或焦點遍歷策略提供者
aComponent - aContainer 的子級(可能是間接的),或 aContainer 自身
返回:
應該接收 aComponent 之前的焦點的 Componentor,如果無法找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦點循環根或焦點遍歷策略提供者,或者 aContainer 或 aComponent 為 null

getFirstComponent

public abstract Component getFirstComponent(Container aContainer)
返回遍歷循環中的第一個 Component。在進行正向遍歷時,可用此方法確定擁有焦點的下一個 Component。

參數:
aContainer - 焦點循環根,或要返回第一個 Component 的焦點遍歷策略提供者
返回:
aContainer 的遍歷循環中的第一個 Componentor,如果無法找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 為 null

getLastComponent

public abstract Component getLastComponent(Container aContainer)
返回遍歷循環中的最後一個 Component。在進行反向遍歷時,可用此方法確定擁有焦點的下一個 Component。

參數:
aContainer - 焦點循環根,或要返回最後一個 Component 的焦點遍歷策略提供者
返回:
aContainer 的遍歷循環中的最後一個 Component,如果無法找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 為 null

getDefaultComponent

public abstract Component getDefaultComponent(Container aContainer)
返回要聚焦的預設 Component。在向下遍歷到以 aContainer 為根的新焦點遍歷循環時,此 Component 將是第一個接受焦點的 Component。

參數:
aContainer - 焦點循環根,或要返回其預設 Component 的焦點遍歷策略提供者
返回:
aContainer 的遍歷循環中的預設 Component,如果無法找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 為 null

getInitialComponent

public Component getInitialComponent(Window window)
返回第一次將視窗設置為可見時,應該接收焦點的 Component。一旦通過調用 show()setVisible(true) 將視窗設置為可見的,將不再使用初始 Component。相反,如果視窗失去焦點、隨後又重獲焦點,或者設置為不可見或不可顯示、隨後又設置為可見或可顯示,則視窗最近聚焦的 Component 將成為焦點所有者。此方法的預設實作返回預設 Component。

參數:
window - 要返回其初始元件的 Window
返回:
第一次將視窗設置為可見時,應該接收焦點的 Component,如果無法找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 window 為 null
另請參見:
getDefaultComponent(java.awt.Container), Window.getMostRecentFocusOwner()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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