java.lang.Object
java.awt.FocusTraversalPolicy
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()
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract Component
getComponentAfter(Container aContainer, Component aComponent)
aComponentのあとでフォーカスを受け取るComponentを返します。abstract Component
getComponentBefore(Container aContainer, Component aComponent)
aComponentの前にフォーカスを受け取るComponentを返します。abstract Component
getDefaultComponent(Container aContainer)
フォーカスするデフォルトのComponentを返します。abstract Component
getFirstComponent(Container aContainer)
トラバーサル・サイクルの最初のComponentを返します。getInitialComponent(Window window)
ウィンドウがはじめて表示されたときにフォーカスを受信するべきComponentを返します。abstract Component
getLastComponent(Container aContainer)
トラバーサル・サイクルの最後のComponentを返します。
-
コンストラクタの詳細
-
FocusTraversalPolicy
protected FocusTraversalPolicy()FocusTraversalPolicy
を構築します。
-
-
メソッドの詳細
-
getComponentAfter
aComponentのあとでフォーカスを受け取るComponentを返します。aContainerは、aComponentのフォーカス・サイクルのルートまたはフォーカス・トラバーサル・ポリシー・プロバイダである必要があります。- パラメータ:
aContainer
- aComponentのフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダaComponent
- aContainerの(おそらく間接的な)子、またはaContainer自身- 戻り値:
- aComponentのあとにフォーカスを受け取るComponent。適切なComponentが見つからない場合はnull
- 例外:
IllegalArgumentException
- aContainerがaComponentのフォーカス・サイクル・ルートでもフォーカス・トラバーサル・ポリシー・プロバイダでもない場合、またはaContainerとaComponentのどちらかがnullである場合
-
getComponentBefore
aComponentの前にフォーカスを受け取るComponentを返します。aContainerはaComponentのフォーカス・サイクルのルートまたはフォーカス・トラバーサル・ポリシー・プロバイダである必要があります。- パラメータ:
aContainer
- aComponentのフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダaComponent
- aContainerの(おそらく間接的な)子、またはaContainer自身- 戻り値:
- aComponentの前にフォーカスを受け取るComponent。適切なComponentが見つからない場合はnull
- 例外:
IllegalArgumentException
- aContainerがaComponentのフォーカス・サイクル・ルートでもフォーカス・トラバーサル・ポリシー・プロバイダでもない場合、またはaContainerとaComponentのどちらかがnullである場合
-
getFirstComponent
トラバーサル・サイクルの最初のComponentを返します。 このメソッドは、順方向のトラバーサルがラップするときに、次にフォーカスするComponentを判定するために使用します。- パラメータ:
aContainer
- 最初のComponentが返されるフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダ- 戻り値:
- aContainerのトラバーサル・サイクルの最初のComponent。適切なComponentが見つからない場合はnull
- 例外:
IllegalArgumentException
- aContainerがnullである場合
-
getLastComponent
トラバーサル・サイクルの最後のComponentを返します。 このメソッドは、逆方向のトラバーサルがラップするときに、次にフォーカスするComponentを判定するために使用します。- パラメータ:
aContainer
- 最後のComponentが返されるフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダ- 戻り値:
- aContainerのトラバーサル・サイクルの最後のComponent。適切なComponentが見つからない場合はnull
- 例外:
IllegalArgumentException
- aContainerがnullである場合
-
getDefaultComponent
フォーカスするデフォルトのComponentを返します。 aContainerにルートがある新しいフォーカス・トラバーサル・サイクルにトラバースするとき、このComponentは最初にフォーカスを受け取ります。- パラメータ:
aContainer
- デフォルトのComponentが返されるフォーカス・サイクル・ルートまたはフォーカス・トラバーサル・ポリシー・プロバイダ- 戻り値:
- aContainerのトラバーサル・サイクルのデフォルトのComponent。適切なComponentが見つからない場合はnull
- 例外:
IllegalArgumentException
- aContainerがnullである場合
-
getInitialComponent
ウィンドウがはじめて表示されたときにフォーカスを受信するべきComponentを返します。show()
またはsetVisible(true)
の呼出しで一度ウィンドウが表示されると、初期コンポーネントはそれ以降使用されません。 一度別のウィンドウに移ったフォーカスがふたたび設定された場合、または、一度非表示状態になったウィンドウがふたたび表示された場合は、そのウィンドウの最後にフォーカスが設定されたコンポーネントがフォーカス所有者になります。 このメソッドのデフォルト実装ではデフォルト・コンポーネントを返します。- パラメータ:
window
- 初期コンポーネントが返されるウィンドウ- 戻り値:
- 最初にウィンドウが表示される時にフォーカス設定されるコンポーネント。適切なコンポーネントがない場合はnull
- 例外:
IllegalArgumentException
- ウィンドウがnullの場合- 関連項目:
getDefaultComponent(java.awt.Container)
,Window.getMostRecentFocusOwner()
-