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

クラスKeyboardFocusManager

java.lang.Object
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
関連項目:
  • フィールドのサマリー

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

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

    修飾子と型
    メソッド
    説明
    void
    KeyEventDispatcherをこのKeyboardFocusManagerのディスパッチャ・チェーンに追加します。
    void
    このKeyboardFocusManagerのポストプロセッサ・チェーンにKeyEventPostProcessorを追加します。
    void
    PropertyChangeListenerをリスナー・リストに追加します。
    void
    特定のプロパティのリスナー・リストにPropertyChangeListenerを追加します。
    void
    VetoableChangeListenerをリスナー・リストに追加します。
    void
    特定のプロパティのリスナー・リストにVetoableChangeListenerを追加します。
    void
    フォーカスの所有者が存在し、呼出し側スレッドと同じコンテキストにある場合は、Javaレベルとネイティブ・レベルの両方でフォーカスの所有者をクリアします。それ以外の場合、このメソッドは何も行わずに復帰します。
    void
    Javaおよびネイティブ・レベルの両方で、グローバル・フォーカスの所有者をクリアします。
    protected abstract void
    dequeueKeyEvents(long after, Component untilFocused)
    遅延したKeyEventsのディスパッチを取り消すようKeyboardFocusManagerに通知するためにAWTによって呼び出されます。
    protected abstract void
    遅延したKeyEventsのディスパッチを取り消すようKeyboardFocusManagerに通知するためにAWTによって呼び出されます。
    abstract boolean
    このメソッドはAWTイベント・ディスパッチャによって呼び出され、現在のKeyboardFocusManagerがそのメソッドの代わりに指定されたイベントをディスパッチするよう要求します。
    abstract boolean
    このメソッドは通常、ディスパッチャ・チェーン内のほかのKeyEventDispatcherがKeyEventをディスパッチしなかった場合、またはほかのKeyEventDispatchersが登録されていない場合にdispatchEventから呼び出されます。
    final void
    現在のフォーカスの所有者がフォーカス・サイクルのルートであるContainerの場合にのみ、フォーカスを現在のフォーカスの所有者から1つ下のフォーカス・トラバーサル・サイクルに移動します。
    abstract void
    フォーカスを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をトリガーします。
    final void
    現在のフォーカスの所有者のあとにComponentをフォーカスします。
    abstract void
    通常FocusTraversalPolicyに基づいて、aComponentのあとでComponentをフォーカスします。
    final void
    現在のフォーカスの所有者の前にComponentをフォーカスします。
    abstract void
    通常FocusTraversalPolicyに基づいて、aComponentの前にComponentをフォーカスします。
    アクティブWindowが呼出し側スレッドと同じコンテキストにある場合、アクティブWindowを返します。
    現在のフォーカス・サイクルのルートが呼出し側スレッドと同じコンテキストにある場合、現在のフォーカス・サイクルのルートを返します。
    スレッドのコンテキストの呼出しに対して、現在のKeyboardFocusManagerインスタンスを返します。
    指定されたトラバーサル操作に対して、デフォルトのフォーカス・トラバーサル・キーのSetを返します。
    デフォルトのFocusTraversalPolicyを返します。
    フォーカスされたWindowが、同じ呼び出し側スレッドと同じコンテキストにある場合、フォーカスされたWindowを返します。
    フォーカスの所有者が呼出し側と同じコンテキストにある場合、フォーカスの所有者を返します。
    protected Window
    呼出し側スレッドがアクティブWindowと異なるコンテキストにある場合でも、アクティブWindowを返します。
    protected Container
    呼出し側スレッドが現在のフォーカス・サイクルのルートと異なるコンテキストにある場合でも、現在のフォーカス・サイクルのルートを返します。
    protected Window
    呼出し側スレッドがフォーカスされたWindowと異なるコンテキストにある場合でも、フォーカスされたWindowを返します。
    protected Component
    呼出し側スレッドがフォーカスの所有者と異なるコンテキストにある場合でも、フォーカスの所有者を返します。
    protected Component
    パーマネント・フォーカスの所有者が呼出し側スレッドと異なるコンテキストにある場合でも、パーマネント・フォーカス所有者を返します。
    このKeyboardFocusManagerのKeyEventDispatcherチェーンをListとして返します。
    このKeyboardFocusManagerのKeyEventPostProcessorチェーンをListとして返します。
    パーマネント・フォーカスの所有者が呼出し側スレッドと同じコンテキストにある場合、パーマネント・フォーカスの所有者を返します。
    このキーボード・フォーカス・マネージャに登録されたすべてのプロパティ変更リスナーの配列を返します。
    名前付きプロパティに関連付けられたすべてのPropertyChangeListenerの配列を返します。
    このキーボード・フォーカス・マネージャに登録されたすべての拒否可能変更リスナーの配列を返します。
    名前付きプロパティに関連付けられたすべてのVetoableChangeListenerの配列を返します。
    abstract boolean
    このメソッドはdispatchKeyEventから呼び出されます。
    abstract void
    processKeyEvent(Component focusedComponent, KeyEvent e)
    KeyEventが指定されたfocusedComponentに対してフォーカス・トラバーサル・キーを示す場合にのみ、このメソッドはフォーカス・トラバーサル操作を初期化します。
    final void
    AWTイベント・ディスパッチャに対してKeyboardFocusManager、またはインストールされた任意のKeyEventDispatchersが再度イベントを再帰的にディスパッチすることを要求しないような方法でAWTEventを再ディスパッチします。
    void
    以前にこのKeyboardFocusManagerのディスパッチャ・チェーンに追加されたKeyEventDispatcherを削除します。
    void
    このKeyboardFocusManagerのポストプロセッサのチェーンから、以前に追加されたKeyEventPostProcessorを削除します。
    void
    PropertyChangeListenerをリスナー・リストから削除します。
    void
    特定のプロパティのリスナー・リストからPropertyChangeListenerを削除します。
    void
    リスナー・リストからVetoableChangeListenerを削除します。
    void
    特定のプロパティのリスナー・リストからVetoableChangeListenerを削除します。
    static void
    スレッドのコンテキストの呼出しに対して、現在のKeyboardFocusManagerインスタンスを設定します。
    void
    setDefaultFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
    指定されたトラバーサル操作に対して、デフォルトのフォーカス・トラバーサル・キーを設定します。
    void
    デフォルトのFocusTraversalPolicyを設定します。
    protected void
    アクティブWindowを設定します。
    void
    現在のフォーカス・サイクルのルートを設定します。
    protected void
    フォーカスされたWindowを設定します。
    protected void
    フォーカスの所有者を設定します。
    protected void
    パーマネント・フォーカスの所有者を設定します。
    final void
    フォーカスを現在のフォーカスの所有者から1つ上のフォーカス・トラバーサル・サイクルに移動します。
    abstract void
    upFocusCycle(Component aComponent)
    フォーカスを1つ上のフォーカス・トラバーサル・サイクルに移動します。

    クラスjava.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

  • コンストラクタの詳細

    • KeyboardFocusManager

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

    • getCurrentKeyboardFocusManager

      public static KeyboardFocusManager getCurrentKeyboardFocusManager()
      スレッドのコンテキストの呼出しに対して、現在の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を置き換えるために必要なアクセス権がない場合
      関連項目:
    • getFocusOwner

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

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

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

      戻り値:
      フォーカスの所有者
      例外:
      SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合
      関連項目:
    • 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」アクセス権がない場合
      関連項目:
    • clearFocusOwner

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

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

      導入されたバージョン:
      1.8
      関連項目:
    • clearGlobalFocusOwner

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

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

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

      例外:
      SecurityException - 呼出し側スレッドに"replaceKeyboardFocusManager"アクセス権がない場合
      関連項目:
    • getPermanentFocusOwner

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

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

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

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

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

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

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

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

      protected Window getGlobalActiveWindow() throws SecurityException
      呼出し側スレッドがアクティブWindowと異なるコンテキストにある場合でも、アクティブWindowを返します。 FrameまたはDialogのみがアクティブWindowになれます。 ネイティブ・ウィンドウ・システムは、アクティブWindowまたはその子を特別な装飾(タイトル・バーのハイライトなど)で示すことができます。 アクティブWindowは常に、フォーカスされたWindow、またはフォーカスされたWindowの所有者である最初のFrameまたはDialogです。
      戻り値:
      アクティブWindow
      例外:
      SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合
      関連項目:
    • 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」アクセス権がない場合
      関連項目:
    • getDefaultFocusTraversalPolicy

      public FocusTraversalPolicy getDefaultFocusTraversalPolicy()
      デフォルトのFocusTraversalPolicyを返します。 トップ・レベルのコンポーネントは、作成時にこの値を使ってContainer.setFocusTraversalPolicyを明示的に呼び出し、自分自身のフォーカス・トラバーサル・ポリシーを初期化します。
      戻り値:
      デフォルトのFocusTraversalPolicy。nullを返すことはない
      関連項目:
    • setDefaultFocusTraversalPolicy

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

      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のいずれでもない場合
      関連項目:
    • getCurrentFocusCycleRoot

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

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

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

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

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

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

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

      パラメータ:
      newFocusCycleRoot - 新しいフォーカス・サイクルのルート
      例外:
      SecurityException - 呼出し側スレッドに"replaceKeyboardFocusManager"アクセス権がない場合
      関連項目:
    • 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

      public void removePropertyChangeListener(PropertyChangeListener listener)
      PropertyChangeListenerをリスナー・リストから削除します。 このメソッドはこのクラスのすべてのバウンド・プロパティに登録されたPropertyChangeListenersを削除するために使用する必要があります。

      listenerがnullの場合、例外はスローされず、何も処理は行われません。

      パラメータ:
      listener - 削除されるPropertyChangeListener
      関連項目:
    • getPropertyChangeListeners

      public PropertyChangeListener[] getPropertyChangeListeners()
      このキーボード・フォーカス・マネージャに登録されたすべてのプロパティ変更リスナーの配列を返します。
      戻り値:
      このキーボード・フォーカス・マネージャのすべてのPropertyChangeListener。プロパティ変更リスナーが現在登録されていない場合は空の配列
      導入されたバージョン:
      1.4
      関連項目:
    • 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
      関連項目:
    • removePropertyChangeListener

      public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
      特定のプロパティのリスナー・リストからPropertyChangeListenerを削除します。 このメソッドは特定のバウンド・プロパティに登録されたPropertyChangeListenersを削除するために使用する必要があります。

      listenerがnullの場合、例外はスローされず、何も処理は行われません。

      パラメータ:
      propertyName - 有効なプロパティ名
      listener - 削除されるPropertyChangeListener
      関連項目:
    • getPropertyChangeListeners

      public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
      名前付きプロパティに関連付けられたすべてのPropertyChangeListenerの配列を返します。
      パラメータ:
      propertyName - プロパティ名
      戻り値:
      名前付きプロパティに関連付けられたすべてのPropertyChangeListener、またはこのようなリスナーが追加されていない場合は空の配列。
      導入されたバージョン:
      1.4
      関連項目:
    • firePropertyChange

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

      public void addVetoableChangeListener(VetoableChangeListener listener)
      VetoableChangeListenerをリスナー・リストに追加します。 このリスナーは、次のようなクラスを含むこのクラスのすべての拒否可能プロパティに登録されます。
      • フォーカスの所有者("focusOwner")
      • パーマネント・フォーカスの所有者("permanentFocusOwner")
      • フォーカスされたWindow ("focusedWindow")
      • アクティブWindow ("activeWindow")
      listenerがnullの場合、例外はスローされず、何も処理は行われません。
      パラメータ:
      listener - 追加されるVetoableChangeListener
      関連項目:
    • removeVetoableChangeListener

      public void removeVetoableChangeListener(VetoableChangeListener listener)
      リスナー・リストからVetoableChangeListenerを削除します。 このメソッドはこのクラスのすべての拒否可能プロパティに登録されたVetoableChangeListenersを削除するために使用する必要があります。

      listenerがnullの場合、例外はスローされず、何も処理は行われません。

      パラメータ:
      listener - 削除されるVetoableChangeListener
      関連項目:
    • getVetoableChangeListeners

      public VetoableChangeListener[] getVetoableChangeListeners()
      このキーボード・フォーカス・マネージャに登録されたすべての拒否可能変更リスナーの配列を返します。
      戻り値:
      このキーボード・フォーカス・マネージャのすべてのVetoableChangeListener。拒否可能変更リスナーが現在登録されていない場合は空の配列
      導入されたバージョン:
      1.4
      関連項目:
    • addVetoableChangeListener

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

      public void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
      特定のプロパティのリスナー・リストからVetoableChangeListenerを削除します。 このメソッドは特定のバウンド・プロパティに登録されたVetoableChangeListenersを削除するために使用する必要があります。

      listenerがnullの場合、例外はスローされず、何も処理は行われません。

      パラメータ:
      propertyName - 有効なプロパティ名
      listener - 削除されるVetoableChangeListener
      関連項目:
    • getVetoableChangeListeners

      public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
      名前付きプロパティに関連付けられたすべてのVetoableChangeListenerの配列を返します。
      パラメータ:
      propertyName - プロパティ名
      戻り値:
      名前付きプロパティに関連付けられたすべてのVetoableChangeListener、またはこのようなリスナーが追加されていない場合は空の配列。
      導入されたバージョン:
      1.4
      関連項目:
    • 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

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

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

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

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

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

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

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

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

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

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

      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 - ディスパッチするイベント
      関連項目:
    • 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
      関連項目:
    • postProcessKeyEvent

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

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

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

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

      public abstract void focusPreviousComponent(Component aComponent)
      通常FocusTraversalPolicyに基づいて、aComponentの前にComponentをフォーカスします。
      パラメータ:
      aComponent - フォーカス・トラバーサル操作の基準となるComponent
      関連項目:
    • 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でない場合は、フォーカス・トラバーサル操作は行われません。