public abstract class KeyboardFocusManager extends Object implements KeyEventDispatcher, KeyEventPostProcessor
KeyboardFocusManagerは、クライアント・コードがフォーカスの所有者を照会し、フォーカスの変更を開始する中央配置のロケーションであり、フォーカスに関連するすべてのFocusEvents、WindowEvents、およびKeyEventsのイベント・ディスパッチャです。
一部のブラウザは、異なるコード・ベースのアプレットを別のコンテキストに分割し、これらのコンテキストの間に壁を構築します。このようなシナリオでは、コンテキストごとに1つのKeyboardFocusManagerがあります。別のブラウザは、すべてのアプレットを同じコンテキストに配置します。これは、すべてのアプレットに対して単一でグローバルなKeyboardFocusManagerのみがあることを示します。この動作は実装に依存します。詳細はブラウザのマニュアルを参照してください。ただし、存在するコンテキストの数にかかわらず、ClassLoaderあたり複数のフォーカスの所有者、フォーカスされたWindow、またはアクティブWindowが存在することはありません。
詳細は、「The Java Tutorial」の「How to Use the Focus Subsystem」および「Focus Specification」を参照してください。
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(String propertyName, VetoableChangeListener listener)
特定のプロパティのリスナー・リストにVetoableChangeListenerを追加します。
|
void |
addVetoableChangeListener(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(String propertyName, VetoableChangeListener listener)
特定のプロパティのリスナー・リストからVetoableChangeListenerを削除します。
|
void |
removeVetoableChangeListener(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つ上のフォーカス・トラバーサル・サイクルに移動します。
|
public static final int FORWARD_TRAVERSAL_KEYS
public static final int BACKWARD_TRAVERSAL_KEYS
public static final int UP_CYCLE_TRAVERSAL_KEYS
public static final int DOWN_CYCLE_TRAVERSAL_KEYS
public static KeyboardFocusManager getCurrentKeyboardFocusManager()
setCurrentKeyboardFocusManager(java.awt.KeyboardFocusManager)public static void setCurrentKeyboardFocusManager(KeyboardFocusManager newManager) throws SecurityException
SecurityManagerがインストールされている場合、呼出し側スレッドは現在のKeyboardFocusManagerを置き換えるためにAWTPermission "replaceKeyboardFocusManager"によりアクセス権が許可されている必要があります。このアクセス権が許可されていない場合、このメソッドはSecurityExceptionをスローして、現在のKeyboardFocusManagerは変更されません。
newManager - このスレッドのコンテキストに対する新しいKeyboardFocusManagerSecurityException - 呼出し側スレッドに、現在のKeyboardFocusManagerを置き換えるために必要なアクセス権がない場合getCurrentKeyboardFocusManager(), DefaultKeyboardFocusManagerpublic Component getFocusOwner()
getGlobalFocusOwner(), setGlobalFocusOwner(java.awt.Component)protected Component getGlobalFocusOwner() throws SecurityException
このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、このメソッドはSecurityExceptionをスローします。
SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getFocusOwner(), setGlobalFocusOwner(java.awt.Component)protected void setGlobalFocusOwner(Component focusOwner) throws SecurityException
このメソッドは、実際に指定されたComponentに対するフォーカスを設定しません。これは、あとでgetFocusOwner()によって返される値を単に格納するだけです。Component.requestFocus()またはComponent.requestFocusInWindow()を使用して、プラットフォームの制限に従ってフォーカス所有者を変更します。
focusOwner - フォーカスの所有者SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getFocusOwner(), getGlobalFocusOwner(), Component.requestFocus(), Component.requestFocusInWindow(), Component.isFocusable()public void clearFocusOwner()
フォーカス所有者コンポーネントは、パーマネントFOCUS_LOSTイベントを受け取ります。この操作が完了すると、ネイティブのウィンドウ処理システムは、ユーザーが新しいComponentを選択してフォーカスを受け取るか、またはComponentがrequestFocus()への呼出しにより明示的にフォーカスを付与されるまで、ユーザーが生成したすべてのKeyEventsを破棄します。この操作はフォーカスされたWindowまたはアクティブなWindowを変更しません。
Component.requestFocus(), FocusEvent.FOCUS_LOSTpublic void clearGlobalFocusOwner()
throws SecurityException
requestFocus()への呼出しにより明示的にフォーカスを付与されるまで、ユーザーが生成したすべてのKeyEventsを破棄します。この操作はフォーカスされたWindowまたはアクティブなWindowを変更しません。
SecurityManagerがインストールされている場合は、呼出し側スレッドに"replaceKeyboardFocusManager" AWTPermissionが許可されている必要があります。このアクセス権が許可されていない場合、このメソッドはSecurityExceptionをスローし、現在のフォーカス所有者はクリアされません。
このメソッドは、呼出し側スレッドのコンテキストで現在のKeyboardFocusManagerとして設定されたKeyboardFocusManagerによってのみ使用されることを想定して実装されています。一般的なクライアントが使用するものではありません。
SecurityException - 呼出し側スレッドに"replaceKeyboardFocusManager"アクセス権がない場合clearFocusOwner(), Component.requestFocus(), FocusEvent.FOCUS_LOSTpublic Component getPermanentFocusOwner()
getGlobalPermanentFocusOwner(), setGlobalPermanentFocusOwner(java.awt.Component)protected Component getGlobalPermanentFocusOwner() throws SecurityException
SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getPermanentFocusOwner(), setGlobalPermanentFocusOwner(java.awt.Component)protected void setGlobalPermanentFocusOwner(Component permanentFocusOwner) throws SecurityException
このメソッドは、実際に指定されたComponentに対するフォーカスを設定しません。これは、あとでgetPermanentFocusOwner()によって返される値を単に格納するだけです。Component.requestFocus()またはComponent.requestFocusInWindow()を使用して、プラットフォームの制限に従ってフォーカス所有者を変更します。
permanentFocusOwner - パーマネント・フォーカスの所有者SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getPermanentFocusOwner(), getGlobalPermanentFocusOwner(), Component.requestFocus(), Component.requestFocusInWindow(), Component.isFocusable()public Window getFocusedWindow()
getGlobalFocusedWindow(), setGlobalFocusedWindow(java.awt.Window)protected Window getGlobalFocusedWindow() throws SecurityException
SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getFocusedWindow(), setGlobalFocusedWindow(java.awt.Window)protected void setGlobalFocusedWindow(Window focusedWindow) throws SecurityException
このメソッドは、ネイティブのウィンドウ処理システムに関するかぎり、実際にフォーカスされたWindowの変更を行いません。これは、あとでgetFocusedWindow()によって返される値を単に格納するだけです。Component.requestFocus()またはComponent.requestFocusInWindow()を使用して、プラットフォームの制限に従ってフォーカスされたWindowを変更します。
focusedWindow - フォーカスされたWindowSecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getFocusedWindow(), getGlobalFocusedWindow(), Component.requestFocus(), Component.requestFocusInWindow(), Window.isFocusableWindow()public Window getActiveWindow()
getGlobalActiveWindow(), setGlobalActiveWindow(java.awt.Window)protected Window getGlobalActiveWindow() throws SecurityException
SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getActiveWindow(), setGlobalActiveWindow(java.awt.Window)protected void setGlobalActiveWindow(Window activeWindow) throws SecurityException
このメソッドは、ネイティブのウィンドウ処理システムに関するかぎり、実際にアクティブWindowの変更を行いません。これは、あとでgetActiveWindow()によって返される値を単に格納するだけです。Component.requestFocus()またはComponent.requestFocusInWindow()を使用して、プラットフォームの制限に従ってアクティブWindowを変更します。
activeWindow - アクティブWindowSecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getActiveWindow(), getGlobalActiveWindow(), Component.requestFocus(), Component.requestFocusInWindow()public FocusTraversalPolicy getDefaultFocusTraversalPolicy()
setDefaultFocusTraversalPolicy(java.awt.FocusTraversalPolicy), Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), Container.getFocusTraversalPolicy()public void setDefaultFocusTraversalPolicy(FocusTraversalPolicy defaultPolicy)
defaultPolicy - 新しいデフォルトのFocusTraversalPolicyIllegalArgumentException - defaultPolicyがnullの場合getDefaultFocusTraversalPolicy(), Container.setFocusTraversalPolicy(java.awt.FocusTraversalPolicy), Container.getFocusTraversalPolicy()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 |
通常の順方向キーボード・トラバーサル | TABのKEY_PRESSED、CTRL-TABのKEY_PRESSED |
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS |
通常のリバース・キーボード・トラバーサル | SHIFT-TABのKEY_PRESSED、CTRL-SHIFT-TABのKEY_PRESSED |
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS |
1つ上のフォーカス・トラバーサル・サイクルに移動 | なし |
KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS |
1つ下のフォーカス・トラバーサル・サイクルに移動 | なし |
Setを使用します。Collections.EMPTY_SETの使用をお薦めします。
AWTKeyStroke APIを使用すると、クライアント・コードでKEY_PRESSEDとKEY_RELEASEDの2つのKeyEventを指定できるようになり、フォーカス・トラバーサルを操作できるようになります。ただし、指定されるKeyEventに関係なく、関連付けられるKEY_TYPEDイベントを含む、フォーカス・トラバーサル・キーに関連するすべてのKeyEventは消費され、ほかのComponentへのディスパッチは行われません。KEY_TYPEDイベントのフォーカス・トラバーサル操作へのマッピング、1つのイベントの複数のデフォルト・フォーカス・トラバーサル操作へのマッピングは実行時エラーになります。
このメソッドは、keystrokes内のいずれのObjectもAWTKeyStrokeでない場合にClassCastExceptionをスローすることがあります。
id - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS、またはKeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSのいずれかkeystrokes - 指定された操作に対するAWTKeyStrokeのセットIllegalArgumentException - idがKeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS、KeyboardFocusManager.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)public Set<AWTKeyStroke> getDefaultFocusTraversalKeys(int id)
setDefaultFocusTraversalKeysを参照してください。)id - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS、KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS、KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYSのいずれかAWTKeyStrokeのSet。この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)public Container getCurrentFocusCycleRoot()
このメソッドは、KeyboardFocusManagersおよびフォーカスの実装専用です。一般的なクライアントが使用するものではありません。
getGlobalCurrentFocusCycleRoot(), setGlobalCurrentFocusCycleRoot(java.awt.Container)protected Container getGlobalCurrentFocusCycleRoot() throws SecurityException
SecurityException - このKeyboardFocusManagerが呼出し側スレッドのコンテキストに対する現在のKeyboardFocusManagerでない場合、および呼出し側スレッドに「replaceKeyboardFocusManager」アクセス権がない場合getCurrentFocusCycleRoot(), setGlobalCurrentFocusCycleRoot(java.awt.Container)public void setGlobalCurrentFocusCycleRoot(Container newFocusCycleRoot) throws SecurityException
SecurityManagerがインストールされている場合は、呼出し側スレッドに"replaceKeyboardFocusManager" AWTPermissionが許可されている必要があります。このアクセス権が許可されていない場合、このメソッドはSecurityExceptionをスローし、現在のフォーカス・サイクル・ルートは変更されません。
このメソッドは、KeyboardFocusManagersおよびフォーカスの実装専用です。一般的なクライアントが使用するものではありません。
newFocusCycleRoot - 新しいフォーカス・サイクルのルートSecurityException - 呼出し側スレッドに"replaceKeyboardFocusManager"アクセス権がない場合getCurrentFocusCycleRoot(), getGlobalCurrentFocusCycleRoot()public void addPropertyChangeListener(PropertyChangeListener listener)
listener - 追加されるPropertyChangeListenerremovePropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(), addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)public void removePropertyChangeListener(PropertyChangeListener listener)
listenerがnullの場合、例外はスローされず、何も処理は行われません。
listener - 削除されるPropertyChangeListeneraddPropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(), removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener。プロパティ変更リスナーが現在登録されていない場合は空の配列addPropertyChangeListener(java.beans.PropertyChangeListener), removePropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String)public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
propertyName - 上記のプロパティ名のいずれかlistener - 追加されるPropertyChangeListeneraddPropertyChangeListener(java.beans.PropertyChangeListener), removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String)public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
listenerがnullの場合、例外はスローされず、何も処理は行われません。
propertyName - 有効なプロパティ名listener - 削除されるPropertyChangeListeneraddPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String), removePropertyChangeListener(java.beans.PropertyChangeListener)public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
PropertyChangeListenerの配列を返します。PropertyChangeListener、またはこのようなリスナーが追加されていない場合は空の配列。addPropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener), removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
propertyName - 変更されたプロパティの名前oldValue - プロパティの以前の値newValue - プロパティの新しい値public void addVetoableChangeListener(VetoableChangeListener listener)
listener - 追加されるVetoableChangeListenerremoveVetoableChangeListener(java.beans.VetoableChangeListener), getVetoableChangeListeners(), addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)public void removeVetoableChangeListener(VetoableChangeListener listener)
listenerがnullの場合、例外はスローされず、何も処理は行われません。
listener - 削除されるVetoableChangeListeneraddVetoableChangeListener(java.beans.VetoableChangeListener), getVetoableChangeListeners(), removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener)public VetoableChangeListener[] getVetoableChangeListeners()
VetoableChangeListener。拒否可能変更リスナーが現在登録されていない場合は空の配列addVetoableChangeListener(java.beans.VetoableChangeListener), removeVetoableChangeListener(java.beans.VetoableChangeListener), getVetoableChangeListeners(java.lang.String)public void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
propertyName - 上記のプロパティ名のいずれかlistener - 追加されるVetoableChangeListeneraddVetoableChangeListener(java.beans.VetoableChangeListener), removeVetoableChangeListener(java.beans.VetoableChangeListener), getVetoableChangeListeners()public void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
listenerがnullの場合、例外はスローされず、何も処理は行われません。
propertyName - 有効なプロパティ名listener - 削除されるVetoableChangeListeneraddVetoableChangeListener(java.beans.VetoableChangeListener), getVetoableChangeListeners(), removeVetoableChangeListener(java.beans.VetoableChangeListener)public VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
VetoableChangeListenerの配列を返します。VetoableChangeListener、またはこのようなリスナーが追加されていない場合は空の配列。addVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener), removeVetoableChangeListener(java.lang.String,java.beans.VetoableChangeListener), getVetoableChangeListeners()protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
propertyName - 変更されたプロパティの名前oldValue - プロパティの以前の値newValue - プロパティの新しい値PropertyVetoException - VetoableChangeListenerがPropertyVetoExceptionをスローした場合public void addKeyEventDispatcher(KeyEventDispatcher dispatcher)
dispatchKeyEventメソッドからtrueを返すとすぐに停止します。追加されるKeyEventDispatchersの総数に制限はありません。また、特定のKeyEventDispatcherインスタンスに追加される回数にも制限はありません。
ディスパッチャがnullに指定されると、処理は行われず、例外はスローされません。
マルチスレッド・アプリケーションでは、KeyEventDispatcherは、ほかのAWTリスナーと同じように動作します。詳細は、「AWTのスレッドの問題」を参照してください。
dispatcher - ディスパッチャ・チェーンに追加するKeyEventDispatcherremoveKeyEventDispatcher(java.awt.KeyEventDispatcher)public void removeKeyEventDispatcher(KeyEventDispatcher dispatcher)
addKeyEventDispatcherへの呼出しを通じて明示的に再登録された場合以外は削除されることはありません。
ディスパッチャがnullに指定された場合、指定されたディスパッチャがディスパッチャ・チェーンにない場合、またはこのKeyboardFocusManagerが明示的に再登録されずに指定された場合、処理は行われず、例外はスローされません。
マルチスレッド・アプリケーションでは、KeyEventDispatcherは、ほかのAWTリスナーと同じように動作します。詳細は、「AWTのスレッドの問題」を参照してください。
dispatcher - ディスパッチャ・チェーンから削除するKeyEventDispatcheraddKeyEventDispatcher(java.awt.KeyEventDispatcher)protected List<KeyEventDispatcher> getKeyEventDispatchers()
addKeyEventDispatcherへの呼出しを通じて明示的に再登録された場合以外は、このKeyboardFocusManagerは含まれません。その他のKeyEventDispatchersが登録されない場合、実装はnullまたは長さ0のListを自由に返します。クライアント・コードは別の動作をある動作と想定したり、いったん確立された動作は変更されないと想定したりしてはいけません。addKeyEventDispatcher(java.awt.KeyEventDispatcher), removeKeyEventDispatcher(java.awt.KeyEventDispatcher)public void addKeyEventPostProcessor(KeyEventPostProcessor processor)
postProcessKeyEventメソッドからtrueを返すとすぐに停止します。追加されるKeyEventPostProcessorsの総数に制限はありません。また、特定のKeyEventPostProcessorインスタンスに追加される回数にも制限はありません。
ポストプロセッサがnullに指定されると、処理は行われず、例外はスローされません。
マルチスレッド・アプリケーションでは、KeyEventPostProcessorは、ほかのAWTリスナーと同じように動作します。詳細は、「AWTのスレッドの問題」を参照してください。
processor - ポストプロセッサのチェーンに追加するKeyEventPostProcessorremoveKeyEventPostProcessor(java.awt.KeyEventPostProcessor)public void removeKeyEventPostProcessor(KeyEventPostProcessor processor)
addKeyEventPostProcessorを通じて追加された参照のみが削除されます。
ポストプロセッサがnullに指定された場合、指定されたポストプロセッサがポストプロセッサ・チェーンにない場合、またはこのKeyboardFocusManagerが明示的に追加されずに指定された場合、処理は行われず、例外はスローされません。
マルチスレッド・アプリケーションでは、KeyEventPostProcessorは、ほかのAWTリスナーと同じように動作します。詳細は、「AWTのスレッドの問題」を参照してください。
processor - ポストプロセッサのチェーンから削除するKeyEventPostProcessoraddKeyEventPostProcessor(java.awt.KeyEventPostProcessor)protected List<KeyEventPostProcessor> getKeyEventPostProcessors()
addKeyEventPostProcessorへの呼出しを通じて明示的に追加された場合以外は、このKeyboardFocusManagerは含まれません。その他のKeyEventPostProcessorが登録されない場合、実装はnullまたは長さ0のListを自由に返します。クライアント・コードは別の動作をある動作であると想定したり、いったん確立された動作は変更されないと想定したりしてはいけません。addKeyEventPostProcessor(java.awt.KeyEventPostProcessor), removeKeyEventPostProcessor(java.awt.KeyEventPostProcessor)public abstract boolean dispatchEvent(AWTEvent e)
redispatchEventを使用して実行する必要があります。このメソッドがfalseを返した場合、AWTイベント・ディスパッチャはイベント自体をディスパッチしようとします。e - ディスパッチされるAWTEventtrue、それ以外の場合はfalseredispatchEvent(java.awt.Component, java.awt.AWTEvent), dispatchKeyEvent(java.awt.event.KeyEvent)public final void redispatchEvent(Component target, AWTEvent e)
dispatchEventのクライアント実装およびクライアント定義のKeyEventDispatcherは、target.dispatchEvent(e)の代わりにredispatchEvent(target, e)を呼び出してイベントをディスパッチする必要があります。
このメソッドは、KeyboardFocusManagersおよびKeyEventDispatchers専用です。一般的なクライアントが使用するものではありません。
target - イベントをディスパッチするComponente - ディスパッチするイベントdispatchEvent(java.awt.AWTEvent), KeyEventDispatcherpublic abstract boolean dispatchKeyEvent(KeyEvent e)
dispatchEventから呼び出されます。このメソッドの実装がfalseを返す場合、dispatchEventはKeyEvent自体をディスパッチしようとするか、または単にfalseを返します。trueが返される場合、dispatchEventは同様にtrueを返します。dispatchKeyEvent、インタフェース: KeyEventDispatchere - 現在のKeyboardFocusManagerでこのKeyEventDispatcherがディスパッチすることを要求したKeyEventtrue、そうでない場合はfalsedispatchEvent(java.awt.AWTEvent)public abstract boolean postProcessKeyEvent(KeyEvent e)
dispatchKeyEventから呼び出されます。デフォルトでは、このメソッドはAWT MenuShortcutにマップされるすべての未消費KeyEventを消費し、ショートカットを有効化します。postProcessKeyEvent、インタフェース: KeyEventPostProcessore - プロセス終了後のKeyEventtrueの場合、ほかのKeyEventPostProcessorがKeyEventについて通知されないことを示す。dispatchKeyEvent(java.awt.event.KeyEvent), MenuShortcutpublic abstract void processKeyEvent(Component focusedComponent, KeyEvent e)
focusedComponent - 指定されたイベントがComponentのフォーカス・トラバーサル・キーを表す場合、フォーカス・トラバーサル操作の基本となるComponente - フォーカス・トラバーサル・キーを表す可能性のあるイベントprotected abstract void enqueueKeyEvents(long after,
Component untilFocused)
dequeueKeyEventsまたはdiscardKeyEventsを呼び出して遅延要求を取り消すまで遅延させるのはKeyboardFocusManagerの責任です。after - 現在のイベントのタイムスタンプ、または現在のイベントにタイムスタンプがない場合や、どのイベントが現在処理されているかをAWTが判定できない場合は現在のシステム時間untilFocused - 保留状態にあるKeyEventを受け取る前にFOCUS_GAINEDイベントを受け取るComponentdequeueKeyEvents(long, java.awt.Component), discardKeyEvents(java.awt.Component)protected abstract void dequeueKeyEvents(long after,
Component untilFocused)
enqueueKeyEventsへの呼出しのため、キューに入れられたすべてのKeyEventsは、現在のフォーカスの所有者に通常どおりディスパッチするために解放される必要があります。特定のタイムスタンプが0より小さい場合は、もっとも古いタイムスタンプを含む特定のComponentに対する未処理のエンキュー要求(存在する場合)を取り消すようにしてください。after - enqueueKeyEventsの呼出しで指定されたタイムスタンプ、または0より小さい任意の値untilFocused - 次に対する呼出しで指定されたComponent: enqueueKeyEventsenqueueKeyEvents(long, java.awt.Component), discardKeyEvents(java.awt.Component)protected abstract void discardKeyEvents(Component comp)
enqueueKeyEventsへの1回以上の呼出しのためにキューに入れられたすべてのKeyEventsは破棄される必要があります。comp - enqueueKeyEventsへの1回以上の呼出しで指定されたComponentenqueueKeyEvents(long, java.awt.Component), dequeueKeyEvents(long, java.awt.Component)public abstract void focusNextComponent(Component aComponent)
aComponent - フォーカス・トラバーサル操作の基準となるComponentFocusTraversalPolicypublic abstract void focusPreviousComponent(Component aComponent)
aComponent - フォーカス・トラバーサル操作の基準となるComponentFocusTraversalPolicypublic abstract void upFocusCycle(Component aComponent)
aComponent - フォーカス・トラバーサル操作の基準となるComponentpublic abstract void downFocusCycle(Container aContainer)
aContainer - フォーカス・トラバーサル操作の基準となるContainerpublic final void focusNextComponent()
public final void focusPreviousComponent()
public final void upFocusCycle()
public final void downFocusCycle()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.