モジュール java.desktop
パッケージ java.awt

クラスFocusTraversalPolicy

java.lang.Object
java.awt.FocusTraversalPolicy
直系の既知のサブクラス:
ContainerOrderFocusTraversalPolicy, InternalFrameFocusTraversalPolicy

public abstract class FocusTraversalPolicy extends Object
FocusTraversalPolicyは、あるフォーカス・サイクル・ルートを持つコンポーネントのトラバース順序を定義します。 インスタンスは任意のフォーカス・サイクル・ルートにこのポリシーを適用でき、コンテナ間での共有を可能にします。 コンポーネント階層のフォーカス・サイクル・ルートが変わっても再度初期化する必要はありません。

FocusTraversalPolicyの主な役割は、UIでフォワード・トラバーサルやバックワード・トラバーサルが発生するときに、フォーカス対象となるコンポーネント決定のアルゴリズムの提供です。 各FocusTraversalPolicyは、トラバーサル・サイクルの最初のコンポーネント、最後のコンポーネント、およびデフォルト・コンポーネント決定のアルゴリズムも提供しなければいけません。 最初のコンポーネントと最後のコンポーネントは、通常のフォワード・トラバーサルとバックワード・トラバーサルを循環させるために使用されます。 デフォルト・コンポーネントは、新しいフォーカス・トラバーサル・サイクルが開始されたときに、最初にフォーカスが設定されるコンポーネントです。 FocusTraversalPolicyはまた、ウィンドウの初期コンポーネント決定のアルゴリズムもオプションで提供しています。 初期コンポーネントにはウィンドウが最初に表示されるときにフォーカスが設定されます。

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

詳細は、「The Java Tutorial」の「How 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

      protected FocusTraversalPolicy()
      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の前にフォーカスを受け取るComponent。適切なComponentが見つからない場合はnull
      例外:
      IllegalArgumentException - aContainerがaComponentのフォーカス・サイクル・ルートでもフォーカス・トラバーサル・ポリシー・プロバイダでもない場合、またはaContainerとaComponentのどちらかがnullである場合
    • getFirstComponent

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

      public Component getInitialComponent(Window window)
      ウィンドウがはじめて表示されたときにフォーカスを受信するべきComponentを返します。 show()またはsetVisible(true)の呼出しで一度ウィンドウが表示されると、初期コンポーネントはそれ以降使用されません。 一度別のウィンドウに移ったフォーカスがふたたび設定された場合、または、一度非表示状態になったウィンドウがふたたび表示された場合は、そのウィンドウの最後にフォーカスが設定されたコンポーネントがフォーカス所有者になります。 このメソッドのデフォルト実装ではデフォルト・コンポーネントを返します。
      パラメータ:
      window - 初期コンポーネントが返されるウィンドウ
      戻り値:
      最初にウィンドウが表示される時にフォーカス設定されるコンポーネント。適切なコンポーネントがない場合はnull
      例外:
      IllegalArgumentException - ウィンドウがnullの場合
      関連項目:
      getDefaultComponent(java.awt.Container), Window.getMostRecentFocusOwner()