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

クラスSortingFocusTraversalPolicy

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

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

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

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

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

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

    • 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である場合
      関連項目:
    • setImplicitDownCycleTraversal

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

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