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

クラスKeyboardFocusManager

  • すべての実装されたインタフェース:
    KeyEventDispatcher, KeyEventPostProcessor
    直系の既知のサブクラス:
    DefaultKeyboardFocusManager

    public abstract class KeyboardFocusManager
    extends Object
    implements KeyEventDispatcher, KeyEventPostProcessor
    KeyboardFocusManagerは、アクティブとなりフォーカスされたWindowおよび現在のフォーカスの所有者の管理を制御します。 フォーカスの所有者は、通常ユーザーによって生成されるすべてのKeyEventsを受け取るアプリケーションのComponentとして定義されます。 フォーカスされたWindowは、フォーカスの所有者であるかまたはフォーカスの所有者を含むWindowです。 FrameまたはDialogのみがアクティブWindowになります。 ネイティブのウィンドウ処理システムは、アクティブWindowまたはハイライトされたタイトル・バーなど特別な装飾を持つその子を表します。 アクティブWindowは、常に、フォーカスされたWindowか、またはフォーカスされたWindowのオーナーである最初のFrameまたはDialogのいずれかです。

    KeyboardFocusManagerは、クライアント・コードがフォーカスの所有者を照会し、フォーカスの変更を開始する中央配置のロケーションであり、フォーカスに関連するすべてのFocusEvents、WindowEvents、およびKeyEventsのイベント・ディスパッチャです。

    一部のブラウザは、異なるコード・ベースのアプレットを別のコンテキストに分割し、これらのコンテキストの間に壁を構築します。 このようなシナリオでは、コンテキストごとに1つのKeyboardFocusManagerがあります。 別のブラウザは、すべてのアプレットを同じコンテキストに配置します。これは、すべてのアプレットに対して単一でグローバルなKeyboardFocusManagerのみがあることを示します。 この動作は実装に依存します。 詳細はブラウザのマニュアルを参照してください。 ただし、存在するコンテキストの数にかかわらず、ClassLoaderあたり複数のフォーカスの所有者、フォーカスされたWindow、またはアクティブWindowが存在することはありません。

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

    導入されたバージョン:
    1.4
    関連項目:
    Window, Frame, Dialog, FocusEvent, WindowEvent, KeyEvent
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      static int BACKWARD_TRAVERSAL_KEYS
      Backwardフォーカス・トラバーサル・キーの識別子です。
      static int DOWN_CYCLE_TRAVERSAL_KEYS
      Down Cycleフォーカス・トラバーサル・キーの識別子です。
      static int FORWARD_TRAVERSAL_KEYS
      Forwardフォーカス・トラバーサル・キーの識別子です。
      static int UP_CYCLE_TRAVERSAL_KEYS
      Up Cycleフォーカス・トラバーサル・キーの識別子です。
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      KeyboardFocusManager()
      KeyboardFocusManagerを初期化します。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 抽象メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      void addKeyEventDispatcher​(KeyEventDispatcher dispatcher)
      KeyEventDispatcherをこのKeyboardFocusManagerのディスパッチャ・チェーンに追加します。
      void addKeyEventPostProcessor​(KeyEventPostProcessor processor)
      このKeyboardFocusManagerのポストプロセッサ・チェーンにKeyEventPostProcessorを追加します。
      void addPropertyChangeListener​(PropertyChangeListener listener)
      PropertyChangeListenerをリスナー・リストに追加します。
      void addPropertyChangeListener​(String propertyName, PropertyChangeListener listener)
      特定のプロパティのリスナー・リストにPropertyChangeListenerを追加します。
      void addVetoableChangeListener​(VetoableChangeListener listener)
      VetoableChangeListenerをリスナー・リストに追加します。
      void addVetoableChangeListener​(String propertyName, VetoableChangeListener listener)
      特定のプロパティのリスナー・リストにVetoableChangeListenerを追加します。
      void clearFocusOwner()
      フォーカスの所有者が存在し、呼出し側スレッドと同じコンテキストにある場合は、Javaレベルとネイティブ・レベルの両方でフォーカスの所有者をクリアします。それ以外の場合、このメソッドは何も行わずに復帰します。
      void clearGlobalFocusOwner()
      Javaおよびネイティブ・レベルの両方で、グローバル・フォーカスの所有者をクリアします。
      protected abstract void dequeueKeyEvents​(long after, Component untilFocused)
      遅延したKeyEventsのディスパッチを取り消すようKeyboardFocusManagerに通知するためにAWTによって呼び出されます。
      protected abstract void discardKeyEvents​(Component comp)
      遅延したKeyEventsのディスパッチを取り消すようKeyboardFocusManagerに通知するためにAWTによって呼び出されます。
      abstract boolean dispatchEvent​(AWTEvent e)
      このメソッドはAWTイベント・ディスパッチャによって呼び出され、現在のKeyboardFocusManagerがそのメソッドの代わりに指定されたイベントをディスパッチするよう要求します。
      abstract boolean dispatchKeyEvent​(KeyEvent e)
      このメソッドは通常、ディスパッチャ・チェーン内のほかのKeyEventDispatcherがKeyEventをディスパッチしなかった場合、またはほかのKeyEventDispatchersが登録されていない場合にdispatchEventから呼び出されます。
      void downFocusCycle()
      現在のフォーカスの所有者がフォーカス・サイクルのルートであるContainerの場合にのみ、フォーカスを現在のフォーカスの所有者から1つ下のフォーカス・トラバーサル・サイクルに移動します。
      abstract void downFocusCycle​(Container aContainer)
      フォーカスを1つ下のフォーカス・トラバーサル・サイクルに移動します。
      protected abstract void enqueueKeyEvents​(long after, Component untilFocused)
      指定されたComponentがフォーカスの所有者になるまで、KeyEventsのディスパッチを遅延させる必要があることをKeyboardFocusManagerに通知するためにAWTによって呼び出されます。
      protected void firePropertyChange​(String propertyName, Object oldValue, Object newValue)
      バウンド・プロパティの変更に応答してPropertyChangeEventをトリガーします。
      protected void fireVetoableChange​(String propertyName, Object oldValue, Object newValue)
      拒否可能プロパティの変更に応答してPropertyChangeEventをトリガーします。
      void focusNextComponent()
      現在のフォーカスの所有者のあとにComponentをフォーカスします。
      abstract void focusNextComponent​(Component aComponent)
      通常FocusTraversalPolicyに基づいて、aComponentのあとでComponentをフォーカスします。
      void focusPreviousComponent()
      現在のフォーカスの所有者の前にComponentをフォーカスします。
      abstract void focusPreviousComponent​(Component aComponent)
      通常FocusTraversalPolicyに基づいて、aComponentの前にComponentをフォーカスします。
      Window getActiveWindow()
      アクティブWindowが呼出し側スレッドと同じコンテキストにある場合、アクティブWindowを返します。
      Container getCurrentFocusCycleRoot()
      現在のフォーカス・サイクルのルートが呼出し側スレッドと同じコンテキストにある場合、現在のフォーカス・サイクルのルートを返します。
      static KeyboardFocusManager getCurrentKeyboardFocusManager()
      スレッドのコンテキストの呼出しに対して、現在のKeyboardFocusManagerインスタンスを返します。
      Set<AWTKeyStroke> getDefaultFocusTraversalKeys​(int id)
      指定されたトラバーサル操作に対して、デフォルトのフォーカス・トラバーサル・キーのSetを返します。
      FocusTraversalPolicy getDefaultFocusTraversalPolicy()
      デフォルトのFocusTraversalPolicyを返します。
      Window getFocusedWindow()
      フォーカスされたWindowが、同じ呼び出し側スレッドと同じコンテキストにある場合、フォーカスされたWindowを返します。
      Component getFocusOwner()
      フォーカスの所有者が呼出し側と同じコンテキストにある場合、フォーカスの所有者を返します。
      protected Window getGlobalActiveWindow()
      呼出し側スレッドがアクティブWindowと異なるコンテキストにある場合でも、アクティブWindowを返します。
      protected Container getGlobalCurrentFocusCycleRoot()
      呼出し側スレッドが現在のフォーカス・サイクルのルートと異なるコンテキストにある場合でも、現在のフォーカス・サイクルのルートを返します。
      protected Window getGlobalFocusedWindow()
      呼出し側スレッドがフォーカスされたWindowと異なるコンテキストにある場合でも、フォーカスされたWindowを返します。
      protected Component getGlobalFocusOwner()
      呼出し側スレッドがフォーカスの所有者と異なるコンテキストにある場合でも、フォーカスの所有者を返します。
      protected Component getGlobalPermanentFocusOwner()
      パーマネント・フォーカスの所有者が呼出し側スレッドと異なるコンテキストにある場合でも、パーマネント・フォーカスの所有者を返します。
      protected List<KeyEventDispatcher> getKeyEventDispatchers()
      このKeyboardFocusManagerのKeyEventDispatcherチェーンをListとして返します。
      protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
      このKeyboardFocusManagerのKeyEventPostProcessorチェーンをListとして返します。
      Component getPermanentFocusOwner()
      パーマネント・フォーカスの所有者が呼出し側スレッドと同じコンテキストにある場合、パーマネント・フォーカスの所有者を返します。
      PropertyChangeListener[] getPropertyChangeListeners()
      このキーボード・フォーカス・マネージャに登録されたすべてのプロパティ変更リスナーの配列を返します。
      PropertyChangeListener[] getPropertyChangeListeners​(String propertyName)
      名前付きプロパティに関連付けられたすべてのPropertyChangeListenerの配列を返します。
      VetoableChangeListener[] getVetoableChangeListeners()
      このキーボード・フォーカス・マネージャに登録されたすべての拒否可能変更リスナーの配列を返します。
      VetoableChangeListener[] getVetoableChangeListeners​(String propertyName)
      名前付きプロパティに関連付けられたすべてのVetoableChangeListenerの配列を返します。
      abstract boolean postProcessKeyEvent​(KeyEvent e)
      このメソッドはdispatchKeyEventから呼び出されます。
      abstract void processKeyEvent​(Component focusedComponent, KeyEvent e)
      KeyEventが指定されたfocusedComponentに対してフォーカス・トラバーサル・キーを示す場合にのみ、このメソッドはフォーカス・トラバーサル操作を初期化します。
      void redispatchEvent​(Component target, AWTEvent e)
      AWTイベント・ディスパッチャに対してKeyboardFocusManager、またはインストールされた任意のKeyEventDispatchersが再度イベントを再帰的にディスパッチすることを要求しないような方法でAWTEventを再ディスパッチします。
      void removeKeyEventDispatcher​(KeyEventDispatcher dispatcher)
      以前にこのKeyboardFocusManagerのディスパッチャ・チェーンに追加されたKeyEventDispatcherを削除します。
      void removeKeyEventPostProcessor​(KeyEventPostProcessor processor)
      このKeyboardFocusManagerのポストプロセッサのチェーンから、以前に追加されたKeyEventPostProcessorを削除します。
      void removePropertyChangeListener​(PropertyChangeListener listener)
      PropertyChangeListenerをリスナー・リストから削除します。
      void removePropertyChangeListener​(String propertyName, PropertyChangeListener listener)
      特定のプロパティのリスナー・リストからPropertyChangeListenerを削除します。
      void removeVetoableChangeListener​(VetoableChangeListener listener)
      リスナー・リストからVetoableChangeListenerを削除します。
      void removeVetoableChangeListener​(String propertyName, VetoableChangeListener listener)
      特定のプロパティのリスナー・リストからVetoableChangeListenerを削除します。
      static void setCurrentKeyboardFocusManager​(KeyboardFocusManager newManager)
      スレッドのコンテキストの呼出しに対して、現在のKeyboardFocusManagerインスタンスを設定します。
      void setDefaultFocusTraversalKeys​(int id, Set<? extends AWTKeyStroke> keystrokes)
      指定されたトラバーサル操作に対して、デフォルトのフォーカス・トラバーサル・キーを設定します。
      void setDefaultFocusTraversalPolicy​(FocusTraversalPolicy defaultPolicy)
      デフォルトのFocusTraversalPolicyを設定します。
      protected void setGlobalActiveWindow​(Window activeWindow)
      アクティブWindowを設定します。
      void setGlobalCurrentFocusCycleRoot​(Container newFocusCycleRoot)
      現在のフォーカス・サイクルのルートを設定します。
      protected void setGlobalFocusedWindow​(Window focusedWindow)
      フォーカスされたWindowを設定します。
      protected void setGlobalFocusOwner​(Component focusOwner)
      フォーカスの所有者を設定します。
      protected void setGlobalPermanentFocusOwner​(Component permanentFocusOwner)
      パーマネント・フォーカスの所有者を設定します。
      void upFocusCycle()
      フォーカスを現在のフォーカスの所有者から1つ上のフォーカス・トラバーサル・サイクルに移動します。
      abstract void upFocusCycle​(Component aComponent)
      フォーカスを1つ上のフォーカス・トラバーサル・サイクルに移動します。
    • コンストラクタの詳細

      • KeyboardFocusManager

        public KeyboardFocusManager()
        KeyboardFocusManagerを初期化します。
    • メソッドの詳細

      • setCurrentKeyboardFocusManager

        public static void setCurrentKeyboardFocusManager​(KeyboardFocusManager newManager)
                                                   throws SecurityException
        スレッドのコンテキストの呼出しに対して、現在のKeyboardFocusManagerインスタンスを設定します。 nullが指定された場合、現在のKeyboardFocusManagerはDefaultKeyboardFocusManagerの新しいインスタンスに置き換えられます。

        SecurityManagerがインストールされている場合、呼出し側スレッドは現在のKeyboardFocusManagerを置き換えるためにAWTPermission "replaceKeyboardFocusManager"によりアクセス権が許可されている必要があります。 このアクセス権が許可されていない場合、このメソッドはSecurityExceptionをスローして、現在のKeyboardFocusManagerは変更されません。

        パラメータ:
        newManager - このスレッドのコンテキストに対する新しいKeyboardFocusManager
        例外:
        SecurityException - 呼出し側スレッドに、現在のKeyboardFocusManagerを置き換えるために必要なアクセス権がない場合
        関連項目:
        getCurrentKeyboardFocusManager(), DefaultKeyboardFocusManager
      • getFocusOwner

        public Component getFocusOwner()
        フォーカスの所有者が呼出し側と同じコンテキストにある場合、フォーカスの所有者を返します。 フォーカスの所有者は、通常ユーザーによって生成されるすべてのKeyEventsを受け取るアプリケーションのComponentとして定義されます。 フォーカスの所有者に対してフォーカス・トラバーサル・キーが有効である場合、フォーカスの所有者のトラバーサル・キーにマッピングされるKeyEventsは転送されません。 さらに、KeyEventDispatchersは、フォーカスの所有者に到達する前に、KeyEventsをターゲット変更するかまたは消費できます。
        戻り値:
        フォーカスの所有者、またはフォーカスの所有者が呼出し側スレッドのコンテキストのメンバーではない場合はnull
        関連項目:
        getGlobalFocusOwner(), setGlobalFocusOwner(java.awt.Component)
      • getGlobalFocusOwner

        protected Component getGlobalFocusOwner()
                                         throws SecurityException
        呼出し側スレッドがフォーカスの所有者と異なるコンテキストにある場合でも、フォーカスの所有者を返します。 フォーカスの所有者は、通常ユーザーによって生成されるすべてのKeyEventsを受け取るアプリケーションのComponentとして定義されます。 フォーカスの所有者に対してフォーカス・トラバーサル・キーが有効である場合、フォーカスの所有者のトラバーサル・キーにマッピングされるKeyEventsは転送されません。 さらに、KeyEventDispatchersは、フォーカスの所有者に到達する前に、KeyEventsをターゲット変更するかまたは消費できます。

        このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、このメソッドはSecurityExceptionをスローします。

        戻り値:
        フォーカスの所有者
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getFocusOwner(), setGlobalFocusOwner(java.awt.Component)
      • setGlobalFocusOwner

        protected void setGlobalFocusOwner​(Component focusOwner)
                                    throws SecurityException
        フォーカスの所有者を設定します。 この操作はComponentがフォーカス不可能である場合、取り消されます。 フォーカスの所有者は、通常ユーザーによって生成されるすべてのKeyEventsを受け取るアプリケーションのComponentとして定義されます。 フォーカスの所有者に対してフォーカス・トラバーサル・キーが有効である場合、フォーカスの所有者のトラバーサル・キーにマッピングされるKeyEventsは転送されません。 さらに、KeyEventDispatchersは、フォーカスの所有者に到達する前に、KeyEventsをターゲット変更するかまたは消費できます。

        このメソッドは、実際に指定されたComponentに対するフォーカスを設定しません。 これは、あとでgetFocusOwner()によって返される値を単に格納するだけです。 Component.requestFocus()またはComponent.requestFocusInWindow()を使用して、プラットフォームの制限に従ってフォーカス所有者を変更します。

        パラメータ:
        focusOwner - フォーカスの所有者
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getFocusOwner(), getGlobalFocusOwner(), Component.requestFocus(), Component.requestFocusInWindow(), Component.isFocusable()
      • clearFocusOwner

        public void clearFocusOwner()
        フォーカスの所有者が存在し、呼出し側スレッドと同じコンテキストにある場合は、Javaレベルとネイティブ・レベルの両方でフォーカスの所有者をクリアします。それ以外の場合、このメソッドは何も行わずに復帰します。

        フォーカス所有者コンポーネントは、パーマネントFOCUS_LOSTイベントを受け取ります。 この操作が完了すると、ネイティブのウィンドウ処理システムは、ユーザーが新しいComponentを選択してフォーカスを受け取るか、またはComponentがrequestFocus()への呼出しにより明示的にフォーカスを付与されるまで、ユーザーが生成したすべてのKeyEventsを破棄します。 この操作はフォーカスされたWindowまたはアクティブなWindowを変更しません。

        導入されたバージョン:
        1.8
        関連項目:
        Component.requestFocus(), FocusEvent.FOCUS_LOST
      • clearGlobalFocusOwner

        public void clearGlobalFocusOwner()
                                   throws SecurityException
        Javaおよびネイティブ・レベルの両方で、グローバル・フォーカスの所有者をクリアします。 フォーカスの所有者が存在する場合、そのようなComponentはパーマネントFOCUS_LOSTイベントを受け取ります。 この操作が完了すると、ネイティブのウィンドウ処理システムは、ユーザーが新しいComponentを選択してフォーカスを受け取るか、またはComponentがrequestFocus()への呼出しにより明示的にフォーカスを付与されるまで、ユーザーが生成したすべてのKeyEventsを破棄します。 この操作はフォーカスされたWindowまたはアクティブなWindowを変更しません。

        SecurityManagerがインストールされている場合は、呼出し側スレッドに"replaceKeyboardFocusManager" AWTPermissionが許可されている必要があります。 このアクセス権が許可されていない場合、このメソッドはSecurityExceptionをスローし、現在のフォーカス所有者はクリアされません。

        このメソッドは、呼出し側スレッドのコンテキストで現在のKeyboardFocusManagerとして設定されたKeyboardFocusManagerによってのみ使用されることを想定して実装されています。 一般的なクライアントが使用するものではありません。

        例外:
        SecurityException - 呼出し側スレッドに"replaceKeyboardFocusManager"アクセス権がない場合
        関連項目:
        clearFocusOwner(), Component.requestFocus(), FocusEvent.FOCUS_LOST
      • getPermanentFocusOwner

        public Component getPermanentFocusOwner()
        パーマネント・フォーカスの所有者が呼出し側スレッドと同じコンテキストにある場合、パーマネント・フォーカスの所有者を返します。 パーマネント・フォーカスの所有者は、パーマネントFOCUS_GAINEDイベントを受け取るアプリケーションの最後のComponentとして定義されます。 フォーカスの所有者とパーマネント・フォーカスの所有者は、テンポラリ・フォーカスの変更が現在有効でない場合にかぎり同等です。 このような場合、パーマネント・フォーカスの所有者はテンポラリ・フォーカスの変更が終了するとふたたびフォーカスの所有者になります。
        戻り値:
        パーマネント・フォーカスの所有者、またはパーマネント・フォーカスの所有者が呼出し側スレッドのコンテキストのメンバーではない場合はnull
        関連項目:
        getGlobalPermanentFocusOwner(), setGlobalPermanentFocusOwner(java.awt.Component)
      • getGlobalPermanentFocusOwner

        protected Component getGlobalPermanentFocusOwner()
                                                  throws SecurityException
        パーマネント・フォーカスの所有者が呼出し側スレッドと異なるコンテキストにある場合でも、パーマネント・フォーカスの所有者を返します。 パーマネント・フォーカスの所有者は、パーマネントFOCUS_GAINEDイベントを受け取るアプリケーションの最後のComponentとして定義されます。 フォーカスの所有者とパーマネント・フォーカスの所有者は、テンポラリ・フォーカスの変更が現在有効でない場合にかぎり同等です。 このような場合、パーマネント・フォーカスの所有者はテンポラリ・フォーカスの変更が終了するとふたたびフォーカスの所有者になります。
        戻り値:
        パーマネント・フォーカスの所有者
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getPermanentFocusOwner(), setGlobalPermanentFocusOwner(java.awt.Component)
      • setGlobalPermanentFocusOwner

        protected void setGlobalPermanentFocusOwner​(Component permanentFocusOwner)
                                             throws SecurityException
        パーマネント・フォーカスの所有者を設定します。 この操作はComponentがフォーカス不可能である場合、取り消されます。 パーマネント・フォーカスの所有者は、パーマネントFOCUS_GAINEDイベントを受け取るアプリケーションの最後のComponentとして定義されます。 フォーカスの所有者とパーマネント・フォーカスの所有者は、テンポラリ・フォーカスの変更が現在有効でない場合にかぎり同等です。 このような場合、パーマネント・フォーカスの所有者はテンポラリ・フォーカスの変更が終了するとふたたびフォーカスの所有者になります。

        このメソッドは、実際に指定されたComponentに対するフォーカスを設定しません。 これは、あとでgetPermanentFocusOwner()によって返される値を単に格納するだけです。 Component.requestFocus()またはComponent.requestFocusInWindow()を使用して、プラットフォームの制限に従ってフォーカス所有者を変更します。

        パラメータ:
        permanentFocusOwner - パーマネント・フォーカスの所有者
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getPermanentFocusOwner(), getGlobalPermanentFocusOwner(), Component.requestFocus(), Component.requestFocusInWindow(), Component.isFocusable()
      • getFocusedWindow

        public Window getFocusedWindow()
        フォーカスされたWindowが、同じ呼び出し側スレッドと同じコンテキストにある場合、フォーカスされたWindowを返します。 フォーカスされたWindowは、フォーカスの所有者であるかまたはフォーカスの所有者を含むWindowです。
        戻り値:
        フォーカスされたWindow、またはフォーカスされたWindowが呼出し側スレッドのコンテキストのメンバーではない場合はnull
        関連項目:
        getGlobalFocusedWindow(), setGlobalFocusedWindow(java.awt.Window)
      • getGlobalFocusedWindow

        protected Window getGlobalFocusedWindow()
                                         throws SecurityException
        呼出し側スレッドがフォーカスされたWindowと異なるコンテキストにある場合でも、フォーカスされたWindowを返します。 フォーカスされたWindowは、フォーカスの所有者であるかまたはフォーカスの所有者を含むWindowです。
        戻り値:
        フォーカスされたWindow
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getFocusedWindow(), setGlobalFocusedWindow(java.awt.Window)
      • setGlobalFocusedWindow

        protected void setGlobalFocusedWindow​(Window focusedWindow)
                                       throws SecurityException
        フォーカスされたWindowを設定します。 フォーカスされたWindowは、フォーカスの所有者であるかまたはフォーカスの所有者を含むWindowです。 フォーカスを指定されたWindowがフォーカス不可能なWindowの場合、この操作は取り消されます。

        このメソッドは、ネイティブのウィンドウ処理システムに関するかぎり、実際にフォーカスされたWindowの変更を行いません。 これは、あとでgetFocusedWindow()によって返される値を単に格納するだけです。 Component.requestFocus()またはComponent.requestFocusInWindow()を使用して、プラットフォームの制限に従ってフォーカスされたWindowを変更します。

        パラメータ:
        focusedWindow - フォーカスされたWindow
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getFocusedWindow(), getGlobalFocusedWindow(), Component.requestFocus(), Component.requestFocusInWindow(), Window.isFocusableWindow()
      • getActiveWindow

        public Window getActiveWindow()
        アクティブWindowが呼出し側スレッドと同じコンテキストにある場合、アクティブWindowを返します。 FrameまたはDialogのみがアクティブWindowになります。 ネイティブのウィンドウ処理システムは、アクティブWindowまたはハイライトされたタイトル・バーなど特別な装飾を持つその子を表します。 アクティブWindowは、常に、フォーカスされたWindowか、またはフォーカスされたWindowのオーナーである最初のFrameまたはDialogのいずれかです。
        戻り値:
        アクティブWindow、またはアクティブWindowが呼出し側スレッドのコンテキストのメンバーではない場合はnull
        関連項目:
        getGlobalActiveWindow(), setGlobalActiveWindow(java.awt.Window)
      • getGlobalActiveWindow

        protected Window getGlobalActiveWindow()
                                        throws SecurityException
        呼出し側スレッドがアクティブWindowと異なるコンテキストにある場合でも、アクティブWindowを返します。 FrameまたはDialogのみがアクティブWindowになります。 ネイティブのウィンドウ処理システムは、アクティブWindowまたはハイライトされたタイトル・バーなど特別な装飾を持つその子を表します。 アクティブWindowは、常に、フォーカスされたWindowか、またはフォーカスされたWindowのオーナーである最初のFrameまたはDialogのいずれかです。
        戻り値:
        アクティブWindow
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getActiveWindow(), setGlobalActiveWindow(java.awt.Window)
      • setGlobalActiveWindow

        protected void setGlobalActiveWindow​(Window activeWindow)
                                      throws SecurityException
        アクティブWindowを設定します。 FrameまたはDialogのみがアクティブWindowになります。 ネイティブのウィンドウ処理システムは、アクティブWindowまたはハイライトされたタイトル・バーなど特別な装飾を持つその子を表します。 アクティブWindowは、常に、フォーカスされたWindowか、またはフォーカスされたWindowのオーナーである最初のFrameまたはDialogのいずれかです。

        このメソッドは、ネイティブのウィンドウ処理システムに関するかぎり、実際にアクティブWindowの変更を行いません。 これは、あとでgetActiveWindow()によって返される値を単に格納するだけです。 Component.requestFocus()またはComponent.requestFocusInWindow() を使用して、プラットフォームの制限に従ってアクティブWindowを変更します。

        パラメータ:
        activeWindow - アクティブWindow
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getActiveWindow(), getGlobalActiveWindow(), Component.requestFocus(), Component.requestFocusInWindow()
      • setDefaultFocusTraversalPolicy

        public void setDefaultFocusTraversalPolicy​(FocusTraversalPolicy defaultPolicy)
        デフォルトのFocusTraversalPolicyを設定します。 トップ・レベルのコンポーネントは、作成時にこの値を使ってContainer.setFocusTraversalPolicyを明示的に呼び出し、自分自身のフォーカス・トラバーサル・ポリシーを初期化します。 注: この呼出しは、ポリシーが初期化されているため、すでに作成済みのコンポーネントに影響しません。 新しいコンポーネントのみがデフォルト・ポリシーとしてこのポリシーを使用します。
        パラメータ:
        defaultPolicy - 新しいデフォルトのFocusTraversalPolicy
        例外:
        IllegalArgumentException - defaultPolicyがnullの場合
        関連項目:
        getDefaultFocusTraversalPolicy(), Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), Container.getFocusTraversalPolicy()
      • setDefaultFocusTraversalKeys

        public void setDefaultFocusTraversalKeys​(int id,
                                                 Set<? extends AWTKeyStroke> keystrokes)
        指定されたトラバーサル操作に対して、デフォルトのフォーカス・トラバーサル・キーを設定します。 このトラバーサル・キーSetは、このような明示的に定義された自分自身のSetを持たないすべてのWindowで有効です。 また、このSetは、明示的に定義された自分自身のSetを持たないこれらのWindowsの任意の子Componentによって再帰的に継承されます。

        デフォルトのフォーカス・トラバーサル・キーのデフォルト値は実装に依存します。 Sunは特定のネイティブなプラットフォームに対するすべての実装で同じデフォルト値を使用することをお薦めします。 WindowsおよびUnixに対する推奨は次にリストされています。 これらの推奨はSun AWTの実装で使用されます。

        フォーカス・トラバーサル・キーの推奨されるデフォルト値
        識別子 意味 デフォルト
        KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS 通常の順方向キーボード・トラバーサル TABKEY_PRESSEDCTRL-TABKEY_PRESSED
        KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 通常のリバース・キーボード・トラバーサル SHIFT-TABKEY_PRESSEDCTRL-SHIFT-TABKEY_PRESSED
        KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 1つ上のフォーカス・トラバーサル・サイクルに移動 なし
        KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS 1つ下のフォーカス・トラバーサル・サイクルに移動 なし
        トラバーサル・キーを無効化するためには、空のSetを使用します。Collections.EMPTY_SETの使用をお薦めします。

        AWTKeyStroke APIを使用すると、クライアント・コードでKEY_PRESSEDKEY_RELEASEDの2つのKeyEventを指定できるようになり、フォーカス・トラバーサルを操作できるようになります。 ただし、指定されるKeyEventに関係なく、関連付けられるKEY_TYPEDイベントを含む、フォーカス・トラバーサル・キーに関連するすべてのKeyEventは消費され、ほかのComponentへのディスパッチは行われません。 KEY_TYPEDイベントのフォーカス・トラバーサル操作へのマッピング、1つのイベントの複数のデフォルト・フォーカス・トラバーサル操作へのマッピングは実行時エラーになります。

        このメソッドは、keystrokes内のいずれのObjectAWTKeyStrokeでない場合にClassCastExceptionをスローすることがあります。

        パラメータ:
        id - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYSKeyboardFocusManager.BACKWARD_TRAVERSAL_KEYSKeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS、またはKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSのいずれか
        keystrokes - 指定された操作に対するAWTKeyStrokeのセット
        例外:
        IllegalArgumentException - idがKeyboardFocusManager.FORWARD_TRAVERSAL_KEYSKeyboardFocusManager.BACKWARD_TRAVERSAL_KEYSKeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYSKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSのいずれでもない場合、keystrokesがnullの場合、keystrokesにnullが含まれる場合、キー・ストロークがKEY_TYPEDイベントを表している場合、またはキー・ストロークがすでに他のデフォルトのフォーカス・トラバーサル操作にマップされている場合
        関連項目:
        getDefaultFocusTraversalKeys(int), Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>), Component.getFocusTraversalKeys(int)
      • getDefaultFocusTraversalKeys

        public Set<AWTKeyStroke> getDefaultFocusTraversalKeys​(int id)
        指定されたトラバーサル操作に対して、デフォルトのフォーカス・トラバーサル・キーのSetを返します。 このトラバーサル・キーのSetは、明示的に定義された自分自身のWindowのうち、このようなSetを持たないすべてのWindowで有効です。 また、このSetは、明示的に定義された自分自身のSetを持たないこれらのWindowsの任意の子Componentによって再帰的に継承されます。 (各操作の完全な説明については、setDefaultFocusTraversalKeysを参照してください。)
        パラメータ:
        id - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS、KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSのいずれか
        戻り値:
        指定された操作に対するAWTKeyStrokeSet。このSetは変更できない。また空の可能性もある。nullが返されることはない
        例外:
        IllegalArgumentException - idがKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS、KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSのいずれでもない場合
        関連項目:
        setDefaultFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>), Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>), Component.getFocusTraversalKeys(int)
      • getCurrentFocusCycleRoot

        public Container getCurrentFocusCycleRoot()
        現在のフォーカス・サイクルのルートが呼出し側スレッドと同じコンテキストにある場合、現在のフォーカス・サイクルのルートを返します。 フォーカスの所有者自体がフォーカス・サイクルのルートの場合、通常のフォーカス・トラバースの間にどのComponentが次または直前のComponentを表すかについて、あいまいになる場合があります。 この場合は、現在のフォーカス・サイクルのルートを使用して、可能性のあるものから識別します。

        このメソッドは、KeyboardFocusManagersおよびフォーカスの実装専用です。 一般的なクライアントが使用するものではありません。

        戻り値:
        現在のフォーカス・サイクルのルート、または現在のフォーカス・サイクルのルートが呼出し側スレッドのコンテキストのメンバーではない場合はnull
        関連項目:
        getGlobalCurrentFocusCycleRoot(), setGlobalCurrentFocusCycleRoot(java.awt.Container)
      • getGlobalCurrentFocusCycleRoot

        protected Container getGlobalCurrentFocusCycleRoot()
                                                    throws SecurityException
        呼出し側スレッドが現在のフォーカス・サイクルのルートと異なるコンテキストにある場合でも、現在のフォーカス・サイクルのルートを返します。 フォーカスの所有者自体がフォーカス・サイクルのルートの場合、通常のフォーカス・トラバースの間にどのComponentが次または直前のComponentを表すかについて、あいまいになる場合があります。 この場合は、現在のフォーカス・サイクルのルートを使用して、可能性のあるものから識別します。
        戻り値:
        現在のフォーカス・サイクルのルート、または現在のフォーカス・サイクルのルートが呼出し側スレッドのコンテキストのメンバーではない場合はnull
        例外:
        SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドにreplaceKeyboardFocusManagerアクセス権がない場合
        関連項目:
        getCurrentFocusCycleRoot(), setGlobalCurrentFocusCycleRoot(java.awt.Container)
      • setGlobalCurrentFocusCycleRoot

        public void setGlobalCurrentFocusCycleRoot​(Container newFocusCycleRoot)
                                            throws SecurityException
        現在のフォーカス・サイクルのルートを設定します。 フォーカスの所有者自体がフォーカス・サイクルのルートの場合、通常のフォーカス・トラバースの間にどのComponentが次または直前のComponentを表すかについて、あいまいになる場合があります。 この場合は、現在のフォーカス・サイクルのルートを使用して、可能性のあるものから識別します。

        SecurityManagerがインストールされている場合は、呼出し側スレッドに"replaceKeyboardFocusManager" AWTPermissionが許可されている必要があります。 このアクセス権が許可されていない場合、このメソッドはSecurityExceptionをスローし、現在のフォーカス・サイクル・ルートは変更されません。

        このメソッドは、KeyboardFocusManagersおよびフォーカスの実装専用です。 一般的なクライアントが使用するものではありません。

        パラメータ:
        newFocusCycleRoot - 新しいフォーカス・サイクルのルート
        例外:
        SecurityException - 呼出し側スレッドに"replaceKeyboardFocusManager"アクセス権がない場合
        関連項目:
        getCurrentFocusCycleRoot(), getGlobalCurrentFocusCycleRoot()
      • addPropertyChangeListener

        public void addPropertyChangeListener​(PropertyChangeListener listener)
        PropertyChangeListenerをリスナー・リストに追加します。 このリスナーは、次のような、このクラスのすべてのバウンド・プロパティに登録されます。
        • KeyboardFocusManagerが現在このアプリケーションまたはアプレットのブラウザ・コンテキストのフォーカスを管理しているかどうか("managingFocus")
        • フォーカスの所有者("focusOwner")
        • パーマネント・フォーカスの所有者("permanentFocusOwner")
        • フォーカスされたWindow ("focusedWindow")
        • アクティブWindow ("activeWindow")
        • デフォルトのフォーカス・トラバーサル・ポリシー("defaultFocusTraversalPolicy")
        • デフォルトのFORWARD_TRAVERSAL_KEYSのSet ("forwardDefaultFocusTraversalKeys")
        • デフォルトのBACKWARD_TRAVERSAL_KEYSのSet ("backwardDefaultFocusTraversalKeys")
        • デフォルトのUP_CYCLE_TRAVERSAL_KEYSのSet ("upCycleDefaultFocusTraversalKeys")
        • デフォルトのDOWN_CYCLE_TRAVERSAL_KEYSのSet ("downCycleDefaultFocusTraversalKeys")
        • 現在のフォーカス・サイクルのルート("currentFocusCycleRoot")
        listenerがnullの場合、例外はスローされず、何も処理は行われません。
        パラメータ:
        listener - 追加されるPropertyChangeListener
        関連項目:
        removePropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(), addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
      • addPropertyChangeListener

        public void addPropertyChangeListener​(String propertyName,
                                              PropertyChangeListener listener)
        特定のプロパティのリスナー・リストにPropertyChangeListenerを追加します。 指定されたプロパティはユーザー定義の場合か、または次のいずれかです。
        • KeyboardFocusManagerが現在このアプリケーションまたはアプレットのブラウザ・コンテキストのフォーカスを管理しているかどうか("managingFocus")
        • フォーカスの所有者("focusOwner")
        • パーマネント・フォーカスの所有者("permanentFocusOwner")
        • フォーカスされたWindow ("focusedWindow")
        • アクティブWindow ("activeWindow")
        • デフォルトのフォーカス・トラバーサル・ポリシー("defaultFocusTraversalPolicy")
        • デフォルトのFORWARD_TRAVERSAL_KEYSのSet ("forwardDefaultFocusTraversalKeys")
        • デフォルトのBACKWARD_TRAVERSAL_KEYSのSet ("backwardDefaultFocusTraversalKeys")
        • デフォルトのUP_CYCLE_TRAVERSAL_KEYSのSet ("upCycleDefaultFocusTraversalKeys")
        • デフォルトのDOWN_CYCLE_TRAVERSAL_KEYSのSet ("downCycleDefaultFocusTraversalKeys")
        • 現在のフォーカス・サイクルのルート("currentFocusCycleRoot")
        listenerがnullの場合、例外はスローされず、何も処理は行われません。
        パラメータ:
        propertyName - 上記のプロパティ名のいずれか
        listener - 追加されるPropertyChangeListener
        関連項目:
        addPropertyChangeListener(java.beans.PropertyChangeListener), removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String)
      • firePropertyChange

        protected void firePropertyChange​(String propertyName,
                                          Object oldValue,
                                          Object newValue)
        バウンド・プロパティの変更に応答してPropertyChangeEventをトリガーします。 このイベントは登録されたすべてのPropertyChangeListenersに送信されます。 oldValueとnewValueが同じ場合はイベントは送信されません。
        パラメータ:
        propertyName - 変更されたプロパティの名前
        oldValue - プロパティの以前の値
        newValue - プロパティの新しい値
      • addVetoableChangeListener

        public void addVetoableChangeListener​(String propertyName,
                                              VetoableChangeListener listener)
        特定のプロパティのリスナー・リストにVetoableChangeListenerを追加します。 指定されたプロパティはユーザー定義の場合か、または次のいずれかです。
        • フォーカスの所有者("focusOwner")
        • パーマネント・フォーカスの所有者("permanentFocusOwner")
        • フォーカスされたWindow ("focusedWindow")
        • アクティブWindow ("activeWindow")
        listenerがnullの場合、例外はスローされず、何も処理は行われません。
        パラメータ:
        propertyName - 上記のプロパティ名のいずれか
        listener - 追加されるVetoableChangeListener
        関連項目:
        addVetoableChangeListener(java.beans.VetoableChangeListener), removeVetoableChangeListener(java.beans.VetoableChangeListener), getVetoableChangeListeners()
      • fireVetoableChange

        protected void fireVetoableChange​(String propertyName,
                                          Object oldValue,
                                          Object newValue)
                                   throws PropertyVetoException
        拒否可能プロパティの変更に応答してPropertyChangeEventをトリガーします。 このイベントは登録されたすべてのVetoableChangeListenersに送信されます。 VetoableChangeListenerがPropertyVetoExceptionをスローする場合、新しいイベントがトリガーされ、すべてのVetoableChangeListenersが古い値に戻され、例外が再スローされます。 oldValueとnewValueが同じ場合はイベントは送信されません。
        パラメータ:
        propertyName - 変更されたプロパティの名前
        oldValue - プロパティの以前の値
        newValue - プロパティの新しい値
        例外:
        PropertyVetoException - VetoableChangeListenerPropertyVetoExceptionをスローした場合
      • addKeyEventDispatcher

        public void addKeyEventDispatcher​(KeyEventDispatcher dispatcher)
        KeyEventDispatcherをこのKeyboardFocusManagerのディスパッチャ・チェーンに追加します。 このKeyboardFocusManagerは、各KeyEventDispatcherが最終的にKeyEvent自体をディスパッチする前にユーザーによって生成されたKeyEventsをディスパッチするよう要求します。 KeyEventDispatchersは追加された順序で通知されます。 通知は1つのKeyEventDispatcherがそのdispatchKeyEventメソッドからtrueを返すとすぐに停止します。 追加されるKeyEventDispatchersの総数に制限はありません。また、特定のKeyEventDispatcherインスタンスに追加される回数にも制限はありません。

        ディスパッチャがnullに指定されると、処理は行われず、例外はスローされません。

        マルチスレッド・アプリケーションでは、KeyEventDispatcherは、ほかのAWTリスナーと同じように動作します。 詳細は、AWTのスレッドの問題を参照してください。

        パラメータ:
        dispatcher - ディスパッチャ・チェーンに追加するKeyEventDispatcher
        関連項目:
        removeKeyEventDispatcher(java.awt.KeyEventDispatcher)
      • removeKeyEventDispatcher

        public void removeKeyEventDispatcher​(KeyEventDispatcher dispatcher)
        以前にこのKeyboardFocusManagerのディスパッチャ・チェーンに追加されたKeyEventDispatcherを削除します。 このKeyboardFocusManager自体は、addKeyEventDispatcherへの呼出しを通じて明示的に再登録された場合以外は削除されることはありません。

        ディスパッチャがnullに指定された場合、指定されたディスパッチャがディスパッチャ・チェーンにない場合、またはこのKeyboardFocusManagerが明示的に再登録されずに指定された場合、処理は行われず、例外はスローされません。

        マルチスレッド・アプリケーションでは、KeyEventDispatcherは、ほかのAWTリスナーと同じように動作します。 詳細は、AWTのスレッドの問題を参照してください。

        パラメータ:
        dispatcher - ディスパッチャ・チェーンから削除するKeyEventDispatcher
        関連項目:
        addKeyEventDispatcher(java.awt.KeyEventDispatcher)
      • getKeyEventDispatchers

        protected List<KeyEventDispatcher> getKeyEventDispatchers()
        このKeyboardFocusManagerのKeyEventDispatcherチェーンをListとして返します。 このListには、addKeyEventDispatcherへの呼出しを通じて明示的に再登録された場合以外は、このKeyboardFocusManagerは含まれません。 その他のKeyEventDispatchersが登録されない場合、実装はnullまたは長さ0のListを自由に返します。 クライアント・コードは別の動作をある動作と想定したり、いったん確立された動作は変更されないと想定したりしてはいけません。
        戻り値:
        nullまたは空の可能性のあるKeyEventDispatchersのList
        関連項目:
        addKeyEventDispatcher(java.awt.KeyEventDispatcher), removeKeyEventDispatcher(java.awt.KeyEventDispatcher)
      • addKeyEventPostProcessor

        public void addKeyEventPostProcessor​(KeyEventPostProcessor processor)
        このKeyboardFocusManagerのポストプロセッサ・チェーンにKeyEventPostProcessorを追加します。 KeyEventがディスパッチされ、そのターゲットによって処理されると、KeyboardFocusManagerは、各KeyEventPostProcessorがKeyEventの最終変換の一部として必要な事後処理を実行するよう要求します。 KeyEventPostProcessorsは追加された順序で通知されます。現在のKeyboardFocusManagerは最後に通知されます。 通知は1つのKeyEventPostProcessorがそのpostProcessKeyEventメソッドからtrueを返すとすぐに停止します。 追加できるKeyEventPostProcessorsの総数や、特定のKeyEventPostProcessorインスタンスを追加できる回数に制限はありません。

        ポストプロセッサがnullに指定されると、処理は行われず、例外はスローされません。

        マルチスレッド・アプリケーションでは、KeyEventPostProcessorは、ほかのAWTリスナーと同じように動作します。 詳細は、AWTのスレッドの問題を参照してください。

        パラメータ:
        processor - ポストプロセッサのチェーンに追加するKeyEventPostProcessor
        関連項目:
        removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
      • removeKeyEventPostProcessor

        public void removeKeyEventPostProcessor​(KeyEventPostProcessor processor)
        このKeyboardFocusManagerのポストプロセッサのチェーンから、以前に追加されたKeyEventPostProcessorを削除します。 このKeyboardFocusManager自体はチェーンから完全には削除できません。 addKeyEventPostProcessorを通じて追加された参照のみが削除されます。

        ポストプロセッサがnullに指定された場合、指定されたポストプロセッサがポストプロセッサ・チェーンにない場合、またはこのKeyboardFocusManagerが明示的に追加されずに指定された場合、処理は行われず、例外はスローされません。

        マルチスレッド・アプリケーションでは、KeyEventPostProcessorは、ほかのAWTリスナーと同じように動作します。 詳細は、AWTのスレッドの問題を参照してください。

        パラメータ:
        processor - ポストプロセッサのチェーンから削除するKeyEventPostProcessor
        関連項目:
        addKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
      • getKeyEventPostProcessors

        protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
        このKeyboardFocusManagerのKeyEventPostProcessorチェーンをListとして返します。 このListには、addKeyEventPostProcessorへの呼出しを通じて明示的に追加された場合以外は、このKeyboardFocusManagerは含まれません。 その他のKeyEventPostProcessorが登録されない場合、実装はnullまたは長さ0のListを自由に返します。 クライアント・コードは別の動作をある動作であると想定したり、いったん確立された動作は変更されないと想定したりしてはいけません。
        戻り値:
        nullまたは空の可能性のあるKeyEventPostProcessorsのList
        関連項目:
        addKeyEventPostProcessor(java.awt.KeyEventPostProcessor), removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)
      • dispatchEvent

        public abstract boolean dispatchEvent​(AWTEvent e)
        このメソッドはAWTイベント・ディスパッチャによって呼び出され、現在のKeyboardFocusManagerがそのメソッドの代わりに指定されたイベントをディスパッチするよう要求します。 すべてのKeyboardFocusManagersは、すべてのFocusEvents、フォーカスに関連したすべてのWindowEvents、およびすべてのKeyEventsをディスパッチするものと想定されています。 これらのイベントは、フォーカスの所有者およびフォーカスされたアクティブなWindowsについてのKeyboardFocusManagerの概念に基づきディスパッチされる必要があります。これにより、指定されたAWTEventのソースがオーバーライドされる場合があります。 AWTイベント・ディスパッチャがKeyboardFocusManagerにイベントのディスパッチを再帰的に要求することを防ぐために、ディスパッチはredispatchEventを使用して実行する必要があります。 このメソッドがfalseを返した場合、AWTイベント・ディスパッチャはイベント自体をディスパッチしようとします。
        パラメータ:
        e - ディスパッチされるAWTEvent
        戻り値:
        このメソッドがイベントをディスパッチした場合はtrue、それ以外の場合はfalse
        関連項目:
        redispatchEvent(java.awt.Component, java.awt.AWTEvent), dispatchKeyEvent(java.awt.event.KeyEvent)
      • redispatchEvent

        public final void redispatchEvent​(Component target,
                                          AWTEvent e)
        AWTイベント・ディスパッチャに対してKeyboardFocusManager、またはインストールされた任意のKeyEventDispatchersが再度イベントを再帰的にディスパッチすることを要求しないような方法でAWTEventを再ディスパッチします。 dispatchEventのクライアント実装およびクライアント定義のKeyEventDispatcherは、target.dispatchEvent(e)の代わりにredispatchEvent(target, e)を呼び出してイベントをディスパッチする必要があります。

        このメソッドは、KeyboardFocusManagersおよびKeyEventDispatchers専用です。 一般的なクライアントが使用するものではありません。

        パラメータ:
        target - イベントをディスパッチするComponent
        e - ディスパッチするイベント
        関連項目:
        dispatchEvent(java.awt.AWTEvent), KeyEventDispatcher
      • dispatchKeyEvent

        public abstract boolean dispatchKeyEvent​(KeyEvent e)
        このメソッドは通常、ディスパッチャ・チェーン内のほかのKeyEventDispatcherがKeyEventをディスパッチしなかった場合、またはほかのKeyEventDispatchersが登録されていない場合にdispatchEventから呼び出されます。 このメソッドの実装がfalseを返す場合、dispatchEventはKeyEvent自体をディスパッチしようとするか、または単にfalseを返します。 trueが返される場合、dispatchEventは同様にtrueを返します。
        定義:
        dispatchKeyEvent、インタフェース: KeyEventDispatcher
        パラメータ:
        e - 現在のKeyboardFocusManagerでこのKeyEventDispatcherがディスパッチすることを要求したKeyEvent
        戻り値:
        KeyEventがディスパッチされた場合はtrue、そうでない場合はfalse
        関連項目:
        dispatchEvent(java.awt.AWTEvent)
      • postProcessKeyEvent

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

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

        protected abstract void enqueueKeyEvents​(long after,
                                                 Component untilFocused)
        指定されたComponentがフォーカスの所有者になるまで、KeyEventsのディスパッチを遅延させる必要があることをKeyboardFocusManagerに通知するためにAWTによって呼び出されます。 クライアント・コードがフォーカスの変更を要求する場合、およびAWTがこの要求はネイティブのウィンドウ処理システムによって許可されるものであると判定する場合は、AWTはこのメソッドを呼び出します。 指定された時刻表示よりも遅い時刻表示を持つKeyEventsのディスパッチを、指定されたComponentがFOCUS_GAINEDイベントを受け取るか、またはAWTがdequeueKeyEventsまたはdiscardKeyEventsを呼び出して遅延要求を取り消すまで遅延させるのはKeyboardFocusManagerの責任です。
        パラメータ:
        after - 現在のイベントのタイムスタンプ、または現在のイベントにタイムスタンプがない場合や、どのイベントが現在処理されているかをAWTが判定できない場合は現在のシステム時間
        untilFocused - 保留状態にあるKeyEventを受け取る前にFOCUS_GAINEDイベントを受け取るComponent
        関連項目:
        dequeueKeyEvents(long, java.awt.Component), discardKeyEvents(java.awt.Component)
      • dequeueKeyEvents

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

        protected abstract void discardKeyEvents​(Component comp)
        遅延したKeyEventsのディスパッチを取り消すようKeyboardFocusManagerに通知するためにAWTによって呼び出されます。 同じComponentを持つenqueueKeyEventsへの1回以上の呼出しのためにキューに入れられたすべてのKeyEventsは破棄される必要があります。
        パラメータ:
        comp - enqueueKeyEventsへの1回以上の呼出しで指定されたComponent
        関連項目:
        enqueueKeyEvents(long, java.awt.Component), dequeueKeyEvents(long, java.awt.Component)
      • focusNextComponent

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

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

        public abstract void upFocusCycle​(Component aComponent)
        フォーカスを1つ上のフォーカス・トラバーサル・サイクルに移動します。 通常、フォーカスの所有者はaComponentのフォーカス・サイクルのルートに設定され、現在のフォーカス・サイクルのルートは新しいフォーカスの所有者のフォーカス・サイクルのルートに設定されます。 ただし、aComponentのフォーカス・サイクルのルートがWindowの場合は、通常フォーカスの所有者はフォーカスするWindowのデフォルトのComponentに設定され、現在のフォーカス・サイクルのルートは変更されません。
        パラメータ:
        aComponent - フォーカス・トラバーサル操作の基準となるComponent
      • downFocusCycle

        public abstract void downFocusCycle​(Container aContainer)
        フォーカスを1つ下のフォーカス・トラバーサル・サイクルに移動します。 通常、aContainerがフォーカス・サイクルのルートの場合、フォーカスの所有者はフォーカスするaContainerのデフォルトのComponentに設定され、現在のフォーカス・サイクルのルートはaContainerに設定されます。 aContainerがフォーカス・サイクルのルートでない場合、フォーカス・トラバーサル操作は行われません。
        パラメータ:
        aContainer - フォーカス・トラバーサル操作の基準となるContainer
      • focusNextComponent

        public final void focusNextComponent()
        現在のフォーカスの所有者のあとにComponentをフォーカスします。
      • focusPreviousComponent

        public final void focusPreviousComponent()
        現在のフォーカスの所有者の前にComponentをフォーカスします。
      • upFocusCycle

        public final void upFocusCycle()
        フォーカスを現在のフォーカスの所有者から1つ上のフォーカス・トラバーサル・サイクルに移動します。 通常、新しいフォーカスの所有者は、現在のフォーカスの所有者のフォーカス・サイクルのルートに設定され、現在のフォーカス・サイクルのルートは新しいフォーカスの所有者のフォーカス・サイクルのルートに設定されます。 ただし、現在のフォーカスの所有者のフォーカス・サイクルのルートがWindowの場合、通常フォーカスの所有者はフォーカスするフォーカス・サイクルのルートのデフォルトComponentに設定され、現在のフォーカス・サイクルのルートは変更されません。
      • downFocusCycle

        public final void downFocusCycle()
        現在のフォーカスの所有者がフォーカス・サイクルのルートであるContainerの場合にのみ、フォーカスを現在のフォーカスの所有者から1つ下のフォーカス・トラバーサル・サイクルに移動します。 通常、フォーカスの所有者はフォーカスする現在のフォーカスの所有者のデフォルトのComponentに設定され、現在のフォーカス・サイクルのルートは現在のフォーカスの所有者に設定されます。 現在のフォーカスの所有者がフォーカス・サイクルのルートであるContainerでない場合は、フォーカス・トラバーサル操作は行われません。