JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 ContainerOrderFocusTraversalPolicy

java.lang.Object
  繼承者 java.awt.FocusTraversalPolicy
      繼承者 java.awt.ContainerOrderFocusTraversalPolicy
所有已實作的介面:
Serializable
直接已知子類別:
DefaultFocusTraversalPolicy

public class ContainerOrderFocusTraversalPolicy
extends FocusTraversalPolicy
implements Serializable

根據 Container 中的子 Component 的順序確定遍歷順序的 FocusTraversalPolicy。該策略將從特定焦點循環根對 Component 層次結構進行前序遍歷,並根據 Container.getComponents() 返回的陣列順序遍歷 Container 的子容器。不可視和不可顯示的部分層次結構將不被搜尋。

預設情況下,ContainerOrderFocusTraversalPolicy 會隱式將焦點傳遞給下一個循環。也就是說,在進行普通正向焦點遍歷期間,在焦點循環根後面遍歷的 Component 將成為焦點循環根預設擁有焦點的 Component。可以使用 setImplicitDownCycleTraversal 方法禁用此行為。

預設情況下,只有 Component 是可視的、可顯示的、被啟用的和可聚焦的時候,此類別的方法才返回此 Component。子類別可以通過覆寫 accept 方法修改此行為。

此策略需要考慮焦點遍歷策略提供者。在搜尋第一個/最後一個/下一個/前一個 Component 時,如果遇到一個焦點遍歷策略提供者,則使用其焦點遍歷策略來執行搜尋操作。

從以下版本開始:
1.4
另請參見:
Container.getComponents(), 序列化表格

建構子摘要
ContainerOrderFocusTraversalPolicy()
           
 
方法摘要
protected  boolean accept(Component aComponent)
          確定是否可以接受選擇某個 Component 作為新的焦點擁有者。
 Component getComponentAfter(Container aContainer, Component aComponent)
          返回應該接收 aComponent 後面的焦點的 Component。
 Component getComponentBefore(Container aContainer, Component aComponent)
          返回應該接收 aComponent 前面的焦點的 Component。
 Component getDefaultComponent(Container aContainer)
          返回預設擁有焦點的 Component。
 Component getFirstComponent(Container aContainer)
          返回遍歷循環中的第一個 Component。
 boolean getImplicitDownCycleTraversal()
          返回對此 ContainerOrderFocusTraversalPolicy 是否隱式將焦點傳遞給下一個循環的判斷。
 Component getLastComponent(Container aContainer)
          返回遍歷循環中的最後一個 Component。
 void setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal)
          設置此 ContainerOrderFocusTraversalPolicy 是否隱式將焦點傳遞給下一個循環。
 
從類別 java.awt.FocusTraversalPolicy 繼承的方法
getInitialComponent
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

ContainerOrderFocusTraversalPolicy

public ContainerOrderFocusTraversalPolicy()
方法詳細資訊

getComponentAfter

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

預設情況下,ContainerOrderFocusTraversalPolicy 會隱式將焦點傳遞給下一個循環。也就是說,在進行普通正向焦點遍歷期間,在焦點循環根後面遍歷的 Component 將成為焦點循環根預設擁有焦點的 Component。可以使用 setImplicitDownCycleTraversal 方法禁用此行為。

如果 aContainer 是焦點遍歷策略提供者,則總是將焦點傳遞到下一個循環。

指定者:
類別 FocusTraversalPolicy 中的 getComponentAfter
參數:
aContainer - aComponent 的一個焦點循環根或者一個焦點遍歷策略提供者
aComponent - aContainer 的一個(可能間接的)子代,或者 aContainer 自身
返回:
應該接受 aComponent 後面的焦點的 Component,如果沒有找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦點循環根或者焦點遍歷策略提供者,或者 aContainer 或 aComponent 為 null

getComponentBefore

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

指定者:
類別 FocusTraversalPolicy 中的 getComponentBefore
參數:
aContainer - aComponent 的一個焦點循環根或者一個焦點遍歷策略提供者
aComponent - aContainer 的一個(可能間接的)子代,或者 aContainer 自身
返回:
應該接受 aComponent 前面的焦點的 Component,如果沒有找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 不是 aComponent 的焦點循環根或者焦點遍歷策略提供者,或者 aContainer 或 aComponent 為 null

getFirstComponent

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

指定者:
類別 FocusTraversalPolicy 中的 getFirstComponent
參數:
aContainer - 將返回其第一個 Component 的焦點循環根或焦點遍歷策略提供者
返回:
aContainer 的遍歷循環中的第一個 Component,如果沒有找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 為 null

getLastComponent

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

指定者:
類別 FocusTraversalPolicy 中的 getLastComponent
參數:
aContainer - 將返回其最後一個 Component 的焦點循環根或焦點遍歷策略提供者
返回:
aContainer 的遍歷循環中的最後一個 Component,如果沒有找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 為 null

getDefaultComponent

public Component getDefaultComponent(Container aContainer)
返回預設擁有焦點的 Component。在向下遍歷到以 aContainer 為根的新焦點遍歷循環時,此 Component 將是第一個接受焦點的 Component。此方法的預設實作將返回與 getFirstComponent 相同的 Component。

指定者:
類別 FocusTraversalPolicy 中的 getDefaultComponent
參數:
aContainer - 將返回其預設 Component 的焦點循環根或焦點遍歷策略提供者
返回:
aContainer 的遍歷循環中的預設 Component,如果沒有找到合適的 Component,則返回 null
拋出:
IllegalArgumentException - 如果 aContainer 為 null
另請參見:
getFirstComponent(java.awt.Container)

setImplicitDownCycleTraversal

public void setImplicitDownCycleTraversal(boolean implicitDownCycleTraversal)
設置此 ContainerOrderFocusTraversalPolicy 是否隱式將焦點傳遞給下一個循環。如果設置為 true,則在進行普通正向焦點遍歷期間,在焦點循環根後面遍歷的 Component 將成為焦點循環根預設擁有焦點的 Component。如果設置為 false,則將遍歷根植在指定焦點循環根的焦點遍歷循環中的下一個 Component。此屬性的預設值為 true

參數:
implicitDownCycleTraversal - 此 ContainerOrderFocusTraversalPolicy 是否隱式將焦點傳遞給下一個循環
另請參見:
getImplicitDownCycleTraversal(), getFirstComponent(java.awt.Container)

getImplicitDownCycleTraversal

public boolean getImplicitDownCycleTraversal()
返回對此 ContainerOrderFocusTraversalPolicy 是否隱式將焦點傳遞給下一個循環的判斷。如果返回 true,則在進行普通正向焦點遍歷期間,在焦點循環根後面遍歷的 Component 將成為焦點循環根預設擁有焦點的 Component。如果返回 false,則將遍歷根植在指定焦點循環根上的焦點遍歷循環中的下一個 Component。

返回:
此 ContainerOrderFocusTraversalPolicy 是否隱式將焦點傳遞給下一個循環
另請參見:
setImplicitDownCycleTraversal(boolean), getFirstComponent(java.awt.Container)

accept

protected boolean accept(Component aComponent)
確定是否可以接受選擇某個 Component 作為新的焦點擁有者。預設情況下,當且僅當 Component 是可視的、可顯示的、被啟用的和可聚焦的時候,此方法才接受此 Component。

參數:
aComponent - 將測試其是否適合作為焦點所有者的 Component
返回:
如果 aComponent 是可視的、可顯示的、被啟用的和可聚焦的,則返回 true;否則返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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