JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 LayoutFocusTraversalPolicy

java.lang.Object
  繼承者 java.awt.FocusTraversalPolicy
      繼承者 javax.swing.InternalFrameFocusTraversalPolicy
          繼承者 javax.swing.SortingFocusTraversalPolicy
              繼承者 javax.swing.LayoutFocusTraversalPolicy
所有已實作的介面:
Serializable

public class LayoutFocusTraversalPolicy
extends SortingFocusTraversalPolicy
implements Serializable

根據 Component 的大小、位置和方向對其排序的 SortingFocusTraversalPolicy。根據 Component 的大小和位置,可以將其大致歸類別為行和列。對於水平方向的 Container,列的排列順序是從左到右或從右到左,行的排列順序是從頂端到底部。對於垂直方向的 Container,列的排列順序是從頂端到底部,行的排列順序是從左到右或從右到左。有關更多資訊,請參見 ComponentOrientation。在完全遍歷一行中的所有列之後才繼續到下一行。

從以下版本開始:
1.4
另請參見:
ComponentOrientation

建構子摘要
LayoutFocusTraversalPolicy()
          建構一個 LayoutFocusTraversalPolicy。
 
方法摘要
protected  boolean accept(Component aComponent)
          確定是否可以接受選擇指定的 Component 作為新的焦點所有者。
 Component getComponentAfter(Container aContainer, Component aComponent)
          返回應在 aComponent 之後接收焦點的 Component。
 Component getComponentBefore(Container aContainer, Component aComponent)
          返回應在 aComponent 之前接收焦點的 Component。
 Component getFirstComponent(Container aContainer)
          返回遍歷循環中的第一個 Component。
 Component getLastComponent(Container aContainer)
          返回遍歷循環中的最後一個 Component。
 
從類別 javax.swing.SortingFocusTraversalPolicy 繼承的方法
getComparator, getDefaultComponent, getImplicitDownCycleTraversal, setComparator, setImplicitDownCycleTraversal
 
從類別 javax.swing.InternalFrameFocusTraversalPolicy 繼承的方法
getInitialComponent
 
從類別 java.awt.FocusTraversalPolicy 繼承的方法
getInitialComponent
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

LayoutFocusTraversalPolicy

public LayoutFocusTraversalPolicy()
建構一個 LayoutFocusTraversalPolicy。

方法詳細資訊

getComponentAfter

public Component getComponentAfter(Container aContainer,
                                   Component aComponent)
返回應在 aComponent 之後接收焦點的 Component。aContainer 必須是 aComponent 的焦點循環根。

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

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

覆寫:
類別 SortingFocusTraversalPolicy 中的 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 的焦點循環根。

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

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

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

getFirstComponent

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

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

getLastComponent

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

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

accept

protected boolean accept(Component aComponent)
確定是否可以接受選擇指定的 Component 作為新的焦點所有者。此方法執行下列順序的操作:
  1. 檢查 aComponent 是否可見、可顯示、已啟用以及是否可獲得焦點。如果這些屬性中任何一個為 false,則此方法返回 false
  2. 如果 aComponentJTable 的一個實例,則返回 true
  3. 如果 aComponentJComboBox 的一個實例,則返回 aComponent.getUI().isFocusTraversable(aComponent) 的值。
  4. 如果 aComponent 是一個 JComponent,且具有一個既不為 null 也不為空的 JComponent.WHEN_FOCUSED InputMap,則返回 true
  5. 返回 DefaultFocusTraversalPolicy.accept(aComponent) 的值。

覆寫:
類別 SortingFocusTraversalPolicy 中的 accept
參數:
aComponent - 將測試其是否適合作為焦點所有者的 Component
返回:
如果 aComponent 是作為焦點所有者的有效選擇,則返回 true;否則返回 false
另請參見:
Component.isVisible(), Component.isDisplayable(), Component.isEnabled(), Component.isFocusable(), ComboBoxUI.isFocusTraversable(javax.swing.JComboBox), JComponent.getInputMap(int), DefaultFocusTraversalPolicy.accept(java.awt.Component)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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