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

クラスDefaultKeyboardFocusManager

java.lang.Object
java.awt.KeyboardFocusManager
java.awt.DefaultKeyboardFocusManager
すべての実装されたインタフェース:
KeyEventDispatcher, KeyEventPostProcessor
直系の既知のサブクラス:
FocusManager

public class DefaultKeyboardFocusManager
extends KeyboardFocusManager
AWTアプリケーションのデフォルトKeyboardFocusManagerです。 フォーカス・トラバーサルはコンポーネントのフォーカス・トラバーサル・キーに対応し、コンテナのFocusTraversalPolicyを使って実行されます。

詳細は、「The Java Tutorial」の「How to Use the Focus Subsystem」および「Focus Specification」を参照してください。

導入されたバージョン:
1.4
関連項目:
FocusTraversalPolicy, Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>), Component.getFocusTraversalKeys(int)
  • コンストラクタの詳細

    • DefaultKeyboardFocusManager

      public DefaultKeyboardFocusManager()
  • メソッドの詳細

    • dispatchEvent

      public boolean dispatchEvent​(AWTEvent e)
      このメソッドはAWTイベント・ディスパッチャによって呼び出され、現在のKeyboardFocusManagerがそのメソッドの代わりに指定されたイベントをディスパッチするよう要求します。 DefaultKeyboardFocusManagersはすべてのFocusEvents、フォーカス関連のすべてのWindowEvents、そしてすべてのKeyEventsをディスパッチします。 これらのイベントは、KeyboardFocusManagerがフォーカス所有者、およびフォーカス設定された有効なウィンドウをどのように認識しているかを基準にディスパッチされます。指定されたAWTEventのソースをオーバーライドすることもあります。 このメソッドがfalseを返した場合、AWTイベント・ディスパッチャはイベント自体をディスパッチしようとします。
      定義:
      dispatchEvent、クラス: KeyboardFocusManager
      パラメータ:
      e - ディスパッチされるAWTEvent
      戻り値:
      このメソッドがイベントをディスパッチした場合はtrue、それ以外の場合はfalse
      関連項目:
      KeyboardFocusManager.redispatchEvent(java.awt.Component, java.awt.AWTEvent), KeyboardFocusManager.dispatchKeyEvent(java.awt.event.KeyEvent)
    • dispatchKeyEvent

      public boolean dispatchKeyEvent​(KeyEvent e)
      ディスパッチャ・チェーン内のほかのKeyEventDispatcherがKeyEventをディスパッチしなかった場合、またはほかのKeyEventDispatchersが登録されていない場合にdispatchEventから呼び出されます。 イベントが消費されておらず、そのターゲットが有効であり、フォーカス所有者がnullでない場合は、このメソッドがイベントをそのターゲットにディスパッチします。 このメソッドはまた、イベントをすべての登録されたKeyEventPostProcessorsにディスパッチする処理を続けて行います。 このすべての処理が終了すると、イベントがピアに渡され処理されます。

      DefaultKeyboardFocusManagerは、dispatchEventまたはAWTイベント・ディスパッチャのどちらでも、あらゆる状況でイベントに対するこれ以上のアクションを実行しないように設計されているため、常にtrueを返します。

      定義:
      dispatchKeyEvent、インタフェース: KeyEventDispatcher
      定義:
      dispatchKeyEvent、クラス: KeyboardFocusManager
      パラメータ:
      e - ディスパッチするKeyEvent
      戻り値:
      true
      関連項目:
      Component.dispatchEvent(java.awt.AWTEvent)
    • postProcessKeyEvent

      public boolean postProcessKeyEvent​(KeyEvent e)
      このメソッドはdispatchKeyEventから呼び出されます。 AWT MenuShortcutにマップされるすべての未消費KeyEventを消費し、ショートカットを有効化します。
      定義:
      postProcessKeyEvent、インタフェース: KeyEventPostProcessor
      定義:
      postProcessKeyEvent、クラス: KeyboardFocusManager
      パラメータ:
      e - プロセス終了後のKeyEvent
      戻り値:
      true
      関連項目:
      dispatchKeyEvent(java.awt.event.KeyEvent), MenuShortcut
    • processKeyEvent

      public void processKeyEvent​(Component focusedComponent, KeyEvent e)
      KeyEventが指定されたfocusedComponentに対してフォーカス・トラバーサル・キーを示す場合にのみ、このメソッドはフォーカス・トラバーサル操作を初期化します。 focusedComponentが現在のフォーカスの所有者であると想定されますが、必ずしもこのとおりである必要はありません。 現在のフォーカス所有者でない場合は、フォーカス・トラバーサルの進行が、focusedComponentがフォーカス所有者の場合とは異なってきます。
      定義:
      processKeyEvent、クラス: KeyboardFocusManager
      パラメータ:
      focusedComponent - 指定されたイベントがコンポーネントのフォーカス・トラバーサル・キーを表す場合、フォーカス・トラバーサル操作の基本となるコンポーネント
      e - フォーカス・トラバーサル・キーを表す可能性のあるイベント
    • enqueueKeyEvents

      protected void enqueueKeyEvents​(long after, Component untilFocused)
      指定されたコンポーネントがフォーカス所有者となるまで、KeyEventsのディスパッチを遅らせます。 指定されたタイムスタンプよりもあとのタイムスタンプを持つKeyEventは、指定されたコンポーネントがFOCUS_GAINEDイベントを受け取るまで、またはAWTが遅延要求をdequeueKeyEventsまたはdiscardKeyEventsを呼び出して取り消すまでキューに入れられます。
      定義:
      enqueueKeyEvents、クラス: KeyboardFocusManager
      パラメータ:
      after - 現在のイベントのタイムスタンプ、または現在のイベントにタイムスタンプがない場合や、どのイベントが現在処理されているかをAWTが判定できない場合は現在のシステム時間
      untilFocused - 保留状態にあるKeyEventを受け取る前にFOCUS_GAINEDイベントを受け取るComponent
      関連項目:
      dequeueKeyEvents(long, java.awt.Component), discardKeyEvents(java.awt.Component)
    • dequeueKeyEvents

      protected void dequeueKeyEvents​(long after, Component untilFocused)
      同じタイムスタンプとComponentを使用したenqueueKeyEventsの呼出しのためにキューに入れられたすべてのKeyEventを、現在のフォーカス所有者への通常のディスパッチのために解放します。 特定のタイムスタンプが0より小さい場合は、もっとも古いタイムスタンプを含む特定のComponentに対する未処理のエンキュー要求(存在する場合)を取り消すようにしてください。
      定義:
      dequeueKeyEvents、クラス: KeyboardFocusManager
      パラメータ:
      after - enqueueKeyEventsの呼出しで指定されたタイムスタンプ、または0より小さい任意の値
      untilFocused - 次に対する呼出しで指定されたComponent: enqueueKeyEvents
      関連項目:
      enqueueKeyEvents(long, java.awt.Component), discardKeyEvents(java.awt.Component)
    • discardKeyEvents

      protected void discardKeyEvents​(Component comp)
      指定されたComponent、またはそのいずれかの下位コンポーネントを使用したenqueueKeyEventsの1回以上の呼出しのためにキューに入れられたすべてのKeyEventを破棄します。
      定義:
      discardKeyEvents、クラス: KeyboardFocusManager
      パラメータ:
      comp - enqueueKeyEventsへの1回以上の呼出しで指定されたコンポーネント、またはそのコンポーネントの親
      関連項目:
      enqueueKeyEvents(long, java.awt.Component), dequeueKeyEvents(long, java.awt.Component)
    • focusPreviousComponent

      public void focusPreviousComponent​(Component aComponent)
      通常FocusTraversalPolicyに基づいて、aComponentの前にComponentをフォーカスします。
      定義:
      focusPreviousComponent、クラス: KeyboardFocusManager
      パラメータ:
      aComponent - フォーカス・トラバーサル操作の基準となるComponent
      関連項目:
      FocusTraversalPolicy, Component.transferFocusBackward()
    • focusNextComponent

      public void focusNextComponent​(Component aComponent)
      通常FocusTraversalPolicyに基づいて、aComponentのあとでComponentをフォーカスします。
      定義:
      focusNextComponent、クラス: KeyboardFocusManager
      パラメータ:
      aComponent - フォーカス・トラバーサル操作の基準となるComponent
      関連項目:
      FocusTraversalPolicy, Component.transferFocus()
    • upFocusCycle

      public void upFocusCycle​(Component aComponent)
      フォーカスを1つ上のフォーカス・トラバーサル・サイクルに移動します。 通常、フォーカスの所有者はaComponentのフォーカス・サイクルのルートに設定され、現在のフォーカス・サイクルのルートは新しいフォーカスの所有者のフォーカス・サイクルのルートに設定されます。 aComponentのフォーカス・サイクル・ルートがウィンドウの場合、フォーカス所有者はフォーカス・サイクル・ルートのデフォルト・フォーカス・コンポーネントに設定され、現在のフォーカス・サイクル・ルートは変更されません。
      定義:
      upFocusCycle、クラス: KeyboardFocusManager
      パラメータ:
      aComponent - フォーカス・トラバーサル操作の基準となるComponent
      関連項目:
      Component.transferFocusUpCycle()
    • downFocusCycle

      public void downFocusCycle​(Container aContainer)
      フォーカスを1つ下のフォーカス・トラバーサル・サイクルに移動します。 aContainerがフォーカス・サイクル・ルートの場合、フォーカス所有者はaContainerのデフォルト・フォーカス・コンポーネントになり、現在のフォーカス・サイクル・ルートがaContainerに設定されます。 aContainerがフォーカス・サイクルのルートでない場合、フォーカス・トラバーサル操作は行われません。
      定義:
      downFocusCycle、クラス: KeyboardFocusManager
      パラメータ:
      aContainer - フォーカス・トラバーサル操作の基準となるContainer
      関連項目:
      Container.transferFocusDownCycle()