モジュール java.desktop
パッケージ javax.swing

クラスSortingFocusTraversalPolicy

  • 直系の既知のサブクラス:
    LayoutFocusTraversalPolicy

    public class SortingFocusTraversalPolicy
    extends InternalFrameFocusTraversalPolicy
    指定されたComparatorに基づいてフォーカス・トラバーサル・サイクルのComponentをソートすることによって、トラバーサル順序を決定するFocusTraversalPolicyです。 Componentの階層のうち、可視でも表示可能でもない部分は含まれません。

    デフォルトでは、SortingFocusTraversalPolicyは暗黙にフォーカスを下のサイクルに転送します。 つまり、通常のフォーカス・トラバーサルの場合、フォーカス・サイクルのルートのあとにトラバースされるComponentは、フォーカス・サイクルのルートがフォーカスするデフォルトのComponentです。 この動作は、setImplicitDownCycleTraversalメソッドを使用して無効にできます。

    デフォルトでは、このクラスのメソッドは、可視性、表示可能性、使用可能性、フォーカス可能性のすべてを満たす場合だけ、Componentを返します。 サブクラスでこの動作を変更するには、acceptメソッドをオーバーライドします。

    このポリシーは、フォーカス・トラバーサル・ポリシー・プロバイダを考慮しています。 最初/最後/次/前のComponentを検索する際に、フォーカス・トラバーサル・ポリシー・プロバイダが検出された場合は、そのフォーカス・トラバーサル・ポリシーを使用して検索操作が行われます。

    導入されたバージョン:
    1.4
    関連項目:
    Comparator
    • コンストラクタの詳細

      • SortingFocusTraversalPolicy

        protected SortingFocusTraversalPolicy()
        Comparatorを使わずにSortingFocusTraversalPolicyを構築します。 サブクラスは、フォーカス・サイクルのルートまたはKeyboardFocusManagerにこのFocusTraversalPolicyをインストールする前に、setComparatorでComparatorを設定する必要があります。
      • SortingFocusTraversalPolicy

        public SortingFocusTraversalPolicy​(Comparator<? super Component> comparator)
        指定されたComparatorでSortingFocusTraversalPolicyを構築します。
        パラメータ:
        comparator - 並べ替えるComparator
    • メソッドの詳細

      • getComponentAfter

        public Component getComponentAfter​(Container aContainer,
                                           Component aComponent)
        aComponentのあとでフォーカスを受け取るComponentを返します。aContainerは、aComponentのフォーカス・サイクルのルートまたはフォーカス・トラバーサル・ポリシー・プロバイダである必要があります。

        デフォルトでは、SortingFocusTraversalPolicyは暗黙にフォーカスを下のサイクルに転送します。 つまり、通常のフォーカス・トラバーサルの場合、フォーカス・サイクルのルートのあとにトラバースされるComponentは、フォーカス・サイクルのルートがフォーカスするデフォルトのComponentです。 この動作は、setImplicitDownCycleTraversalメソッドを使用して無効にできます。

        aContainerがフォーカス・トラバーサル・ポリシー・プロバイダである場合、フォーカスは常にダウンサイクルで転送されます。

        定義:
        getComponentAfter、クラス: FocusTraversalPolicy
        パラメータ:
        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のフォーカス・サイクルのルートまたはフォーカス・トラバーサル・ポリシー・プロバイダである必要があります。

        デフォルトでは、SortingFocusTraversalPolicyは暗黙にフォーカスを下のサイクルに転送します。 つまり、通常のフォーカス・トラバーサルの場合、フォーカス・サイクルのルートのあとにトラバースされるComponentは、フォーカス・サイクルのルートがフォーカスするデフォルトのComponentです。 この動作は、setImplicitDownCycleTraversalメソッドを使用して無効にできます。

        aContainerがフォーカス・トラバーサル・ポリシー・プロバイダである場合、フォーカスは常にダウンサイクルで転送されます。

        定義:
        getComponentBefore、クラス: FocusTraversalPolicy
        パラメータ:
        aContainer - aComponentのフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダ
        aComponent - aContainerの(おそらく間接的な)子、またはaContainer自身
        戻り値:
        aComponentの前にフォーカスを受け取るComponent。適切なComponentが見つからない場合はnull
        例外:
        IllegalArgumentException - aContainerがaComponentのフォーカス・サイクル・ルートでもフォーカス・トラバーサル・ポリシー・プロバイダでもない場合、またはaContainerとaComponentのどちらかがnullである場合
      • getFirstComponent

        public Component getFirstComponent​(Container aContainer)
        トラバーサル・サイクルの最初のComponentを返します。 このメソッドは、順方向のトラバーサルがラップするときに、次にフォーカスするComponentを判定するために使用します。
        定義:
        getFirstComponent、クラス: FocusTraversalPolicy
        パラメータ:
        aContainer - 最初のComponentが返されるaComponentのフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダ
        戻り値:
        aContainerのトラバーサル・サイクルの最初のComponent。適切なComponentが見つからない場合はnull
        例外:
        IllegalArgumentException - aContainerがnullである場合
      • getLastComponent

        public Component getLastComponent​(Container aContainer)
        トラバーサル・サイクルの最後のComponentを返します。 このメソッドは、逆方向のトラバーサルがラップするときに、次にフォーカスするComponentを判定するために使用します。
        定義:
        getLastComponent、クラス: FocusTraversalPolicy
        パラメータ:
        aContainer - 最後のComponentが返されるaComponentのフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダ
        戻り値:
        aContainerのトラバーサル・サイクルの最後のComponent。適切なComponentが見つからない場合はnull
        例外:
        IllegalArgumentException - aContainerがnullである場合
      • getDefaultComponent

        public Component getDefaultComponent​(Container aContainer)
        フォーカスするデフォルトのComponentを返します。 aContainerにルートがある新しいフォーカス・トラバーサル・サイクルにトラバースするとき、このComponentは最初にフォーカスを受け取ります。 このメソッドのデフォルトの実装は、getFirstComponentと同じComponentを返します。
        定義:
        getDefaultComponent、クラス: FocusTraversalPolicy
        パラメータ:
        aContainer - デフォルトのComponentが返されるaComponentのフォーカス・サイクルのルートまたはフォーカス・トラバーサル・ポリシー・プロバイダ
        戻り値:
        aContainerのトラバーサル・サイクルのデフォルトのComponent。適切なComponentが見つからない場合はnull
        例外:
        IllegalArgumentException - aContainerがnullである場合
        関連項目:
        getFirstComponent(java.awt.Container)
      • setImplicitDownCycleTraversal

        public void setImplicitDownCycleTraversal​(boolean implicitDownCycleTraversal)
        このSortingFocusTraversalPolicyがフォーカスを暗黙にダウンサイクルで移動するかどうかを設定します。 trueの場合、通常のフォーカス・トラバーサルでは、フォーカス・サイクルのルートのあとにトラバースされるComponentが、フォーカス・サイクルのルートからフォーカスを受け取るデフォルトのComponentになります。 falseの場合は、指定されたフォーカス・サイクル・ルートをルートとするフォーカス・トラバーサル・サイクル内の次のComponentが代わりにトラバースされます。 このプロパティのデフォルト値はtrueです。
        パラメータ:
        implicitDownCycleTraversal - このSortingFocusTraversalPolicyが暗黙的にフォーカスをダウンサイクルで移動するかどうか
        関連項目:
        getImplicitDownCycleTraversal(), getFirstComponent(java.awt.Container)
      • getImplicitDownCycleTraversal

        public boolean getImplicitDownCycleTraversal()
        このSortingFocusTraversalPolicyがフォーカスを暗黙的にダウンサイクルで移動するかどうかを返します。 trueの場合、通常のフォーカス・トラバーサルでは、フォーカス・サイクルのルートのあとにトラバースされるComponentが、フォーカス・サイクルのルートからフォーカスを受け取るデフォルトのComponentになります。 falseの場合は、指定されたフォーカス・サイクル・ルートをルートとするフォーカス・トラバーサル・サイクル内の次のComponentが代わりにトラバースされます。
        戻り値:
        このSortingFocusTraversalPolicyが暗黙的にフォーカスをダウンサイクルで移動するかどうか
        関連項目:
        setImplicitDownCycleTraversal(boolean), getFirstComponent(java.awt.Container)
      • setComparator

        protected void setComparator​(Comparator<? super Component> comparator)
        フォーカス・トラバーサル・サイクルでComponentsをソートするために使うComparatorを設定します。
        パラメータ:
        comparator - ソートに使うComparator
      • getComparator

        protected Comparator<? super Component> getComparator()
        フォーカス・トラバーサル・サイクルでComponentsをソートするために使うComparatorを返します。
        戻り値:
        ソートに使うComparator
      • accept

        protected boolean accept​(Component aComponent)
        Componentが新しいフォーカス所有者として適切かどうかを判定します。 デフォルトでは、可視性、表示可能性、使用可能性、フォーカス可能性のすべてを満たす場合だけ、Componentを受け入れます。
        パラメータ:
        aComponent - フォーカス所有者としての適合性がテストされるComponent
        戻り値:
        aComponentが可視、表示可能、使用可能、フォーカス可能な場合はtrue、そうでない場合はfalse