|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface Action
Action
インタフェースは、同じ機能が複数のコントロールによってアクセスされる場合に、ActionListener
インタフェースに対する便利な拡張機能を提供します。
ActionListener
インタフェースで定義される actionPerformed
メソッドに加えてこのインタフェースを使用すると、アプリケーションでは次のことを 1 箇所で定義できます。
このインタフェースは既存のクラスに追加したり、アダプタの生成 (通常は AbstractAction
のサブクラス化) に使用したりすることができます。そして、Action
オブジェクトが複数の Action
処理コンテナに追加され、Action
の機能を持ったコンポーネントに接続されます。これによって、Action
オブジェクトの setEnabled
メソッドを呼び出して、GUI コントロールを一度に起動または終了できます。
Action
の実装は、記憶領域の点で通常の ActionListener
より負荷が大きくなることが多いので、機能の中央制御やプロパティー変更の通知といった利点を提供できません。このため、これらの機能を利用する必要がある場合にのみ Action
を使用するようにして、それ以外では単純な ActionListener
を使用するようにしてください。
Action
をサポートする Swing コンポーネント
多くの Swing コンポーネントは、Action
プロパティーを持っています。コンポーネントに Action
が設定されると、次のことが行われます。
Action
が ActionListener
としてコンポーネントに追加されます。
Action
に一致するように構成します。
Action
のプロパティーの変更に応じてプロパティーを変更できるように、Action
に PropertyChangeListener
をインストールします。
次の表では、Action
をサポートする Swing
コンポーネントで使用されるプロパティーについて説明します。表中の button は AbstractButton
サブクラスを表しています。これには、JButton
だけでなく、JMenuItem
などのクラスも含まれています。特に記述がないかぎり、Action
内にプロパティー値 null
がある場合 (または Action
が null
である場合)、ボタンの対応するプロパティーが null
に設定されます。
コンポーネントのプロパティー | コンポーネント | アクションキー | 説明 |
---|---|---|---|
enabled
| すべて | isEnabled メソッド
| |
toolTipText
| すべて | SHORT_DESCRIPTION
| |
actionCommand
| すべて | ACTION_COMMAND_KEY
| |
0 以下
| すべてのボタン | MNEMONIC_KEY
| null 値。または、ボタンの mnemonic プロパティー内の Action が「\0 」に設定されます。
|
text
| すべてのボタン | NAME
| ボタンのテキストに Action のテキストを反映させない場合は、hideActionText プロパティーを true に設定します。hideActionText が true の場合、Action を設定すると、ボタンのテキストが null に変わり、NAME への変更が無視されます。hideActionText は、通常 Icon だけを表示するので、ツールバーボタンに適しています。JToolBar.add(Action) は、Action の LARGE_ICON_KEY または SMALL_ICON の値が null でない場合、プロパティーを true に設定します。
|
displayedMnemonicIndex
| すべてのボタン | DISPLAYED_MNEMONIC_INDEX_KEY
| DISPLAYED_MNEMONIC_INDEX_KEY の値がテキストの境界を越える場合は、無視されます。setAction が呼び出されたときに、Action の値が null の場合は、ニーモニックのインデックスの表示は更新されません。そのあとで DISPLAYED_MNEMONIC_INDEX_KEY に変更を加える際には、null は -1 として処理されます。
|
icon
| JCheckBox 、JToggleButton 、および JRadioButton を除くすべてのボタン。
| LARGE_ICON_KEY または SMALL_ICON
| JMenuItem サブクラスは、SMALL_ICON だけを使用します。その他のすべてのボタンは、LARGE_ICON_KEY を使用します。値が null の場合は、SMALL_ICON を使用します。
|
accelerator
| すべての JMenuItem サブクラス (JMenu を除く)。
| ACCELERATOR_KEY
| |
selected
| JToggleButton 、JCheckBox 、JRadioButton 、JCheckBoxMenuItem 、および JRadioButtonMenuItem
| SELECTED_KEY
| このプロパティーに従うコンポーネントは、値が non-null である場合、この値だけを使用します。たとえば、JToggleButton の SELECTED_KEY の値が null である Action を設定した場合、JToggleButton は選択された状態を決して更新しません。同様に、Action の SELECTED_KEY が non-null 値の場合、JToggleButton の選択された状態が変化するたびに、値は Action に戻ります。このプロパティーに従うコンポーネントは、選択された状態をこのプロパティーの状態と同期化します。同じ Action を複数のコンポーネントで使用する場合、すべてのコンポーネントの選択された状態がこのプロパティーの状態と同期します。ButtonGroup 内の JToggleButton のように、相互に排他的な関係にあるボタンは、そのうちのどれか 1 つだけが選択されます。このため、SELECTED_KEY プロパティーの値を定義する Action を、相互に排他的な関係にある複数のボタンで使用しないでください。
|
JPopupMenu
、JToolBar
、および JMenu
はいずれも、コンポーネントの作成と対応するコンポーネント上での Action
の設定に便利なメソッドを提供します。詳細は、各クラスの説明を参照してください。
Action
は、PropertyChangeListener
を使って、Action
が変更されたことをリスナーに通知します。Bean 仕様には、プロパティー名 null
を使って複数の値が変更されたことを示すことができると記載されています。デフォルトでは、Action
を実行する Swing コンポーネントは、このような変更を処理しません。Swing が Bean 仕様に従って null
を処理するようにするには、システムプロパティー swing.actions.reconfigureOnNull
の String
値を true
に設定します。
AbstractAction
フィールドの概要 | |
---|---|
static String |
ACCELERATOR_KEY
アクションのアクセラレータとして使用する KeyStroke の格納に使用されるキーです。 |
static String |
ACTION_COMMAND_KEY
JComponent に関連する Keymap に常駐している結果として Action が通知されるとき作成される ActionEvent のコマンド String の判定に使用されるキーです。 |
static String |
DEFAULT
現在使用されていません。 |
static String |
DISPLAYED_MNEMONIC_INDEX_KEY
ニーモニックの装飾が描画されるテキスト内のインデックス ( NAME プロパティーで識別される) に対応する Integer の格納に使用されるキーです。 |
static String |
LARGE_ICON_KEY
Icon を格納するために使用されるキーです。 |
static String |
LONG_DESCRIPTION
アクションに関する詳細な String の説明を格納するために使用されるキーです。 |
static String |
MNEMONIC_KEY
KeyEvent キーコードの 1 つに対応する Integer の格納に使用されるキーです。 |
static String |
NAME
アクションの名前を表す String の格納に使用するキーです。 |
static String |
SELECTED_KEY
選択された状態に対応する Boolean の格納に使用されるキーです。 |
static String |
SHORT_DESCRIPTION
アクションに関する短い String の説明を格納するために使用されるキーです。 |
static String |
SMALL_ICON
ImageIcon のような小さい Icon を格納するために使用されるキーです。 |
メソッドの概要 | |
---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener)
PropertyChange リスナーを追加します。 |
Object |
getValue(String key)
関連付けられているキーを使ってオブジェクトのプロパティーを一つ返します。 |
boolean |
isEnabled()
Action の有効状態を返します。 |
void |
putValue(String key,
Object value)
関連付けられているキーを使って、オブジェクトのプロパティーを一つ設定します。 |
void |
removePropertyChangeListener(PropertyChangeListener listener)
PropertyChange リスナーを削除します。 |
void |
setEnabled(boolean b)
Action の有効状態を設定します。 |
インタフェース java.awt.event.ActionListener から継承されたメソッド |
---|
actionPerformed |
フィールドの詳細 |
---|
static final String DEFAULT
static final String NAME
String
の格納に使用するキーです。 メニューまたはボタンで使われます。
static final String SHORT_DESCRIPTION
String
の説明を格納するために使用されるキーです。ツールヒントのテキストに使用されます。
static final String LONG_DESCRIPTION
String
の説明を格納するために使用されるキーです。コンテキスト依存ヘルプで使用することができます。
static final String SMALL_ICON
ImageIcon
のような小さい Icon
を格納するために使用されるキーです。通常は JMenuItem
などのメニューで使用されます。
メニューとボタンで同じ Action
を使用する場合は、通常、SMALL_ICON
と LARGE_ICON_KEY
を両方とも指定します。メニューは SMALL_ICON
、ボタンは LARGE_ICON_KEY
を使用します。
static final String ACTION_COMMAND_KEY
JComponent
に関連する Keymap
に常駐している結果として Action
が通知されるとき作成される ActionEvent
のコマンド String
の判定に使用されるキーです。
static final String ACCELERATOR_KEY
KeyStroke
の格納に使用されるキーです。
static final String MNEMONIC_KEY
KeyEvent
キーコードの 1 つに対応する Integer
の格納に使用されるキーです。値は通常、ニーモニックを指定するために使用されます。例を示します。myAction.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_A)
は、myAction
のニーモニックを「a」に設定します。
static final String SELECTED_KEY
Boolean
の格納に使用されるキーです。通常、意味のある選択状態のコンポーネントでのみ使用されます。たとえば、JRadioButton
と JCheckBox
はこれを使用しますが、JMenu
のインスタンスは使用しません。
このプロパティーは、コンポーネントによって読み取りと設定の両方が行われる点で、ほかのプロパティーとは異なっています。たとえば、Action
が JCheckBox
に接続されている場合、JCheckBox
の選択状態は Action
の選択状態から設定されます。ユーザーが JCheckBox
をクリックすると、JCheckBox
および Action
の両方の選択状態が更新されます。
注:既存の Action
との衝突を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。
static final String DISPLAYED_MNEMONIC_INDEX_KEY
NAME
プロパティーで識別される) に対応する Integer
の格納に使用されるキーです。このプロパティーの値がテキストの長さ以上の場合は、-1 として処理されます。
注:既存の Action
との衝突を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。
AbstractButton.setDisplayedMnemonicIndex(int)
,
定数フィールド値static final String LARGE_ICON_KEY
Icon
を格納するために使用されるキーです。通常、JButton
、JToggleButton
などのボタンで使用されます。
メニューとボタンで同じ Action
を使用する場合は、通常、SMALL_ICON
と LARGE_ICON_KEY
を両方とも指定します。メニューは SMALL_ICON
、ボタンは LARGE_ICON_KEY
を使用します。
注:既存の Action
との衝突を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。
メソッドの詳細 |
---|
Object getValue(String key)
putValue(java.lang.String, java.lang.Object)
void putValue(String key, Object value)
PropertyChangeEvent
がリスナーに送信されます。
key
- キーが格納されている String
value
- Object
値void setEnabled(boolean b)
Action
の有効状態を設定します。有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、オブジェクトの actionPerformed
メソッドをトリガーできます。値が変更されると、PropertyChangeEvent
がリスナーに送信されます。
b
- この Action
を有効にする場合は true、無効にする場合は falseboolean isEnabled()
Action
の有効状態を返します。有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、オブジェクトの actionPerformed
メソッドをトリガーできます。
Action
が有効な場合は truevoid addPropertyChangeListener(PropertyChangeListener listener)
PropertyChange
リスナーを追加します。コンテナ、および接続されたコンポーネントは、これらのメソッドを使用して Action
オブジェクトの通知対象として登録します。Action オブジェクトが有効になった場合、またはその他のプロパティーが変化した場合、登録されたリスナーに変更が通知されます。
listener
- PropertyChangeListener
オブジェクトvoid removePropertyChangeListener(PropertyChangeListener listener)
PropertyChange
リスナーを削除します。
listener
- PropertyChangeListener
オブジェクトaddPropertyChangeListener(java.beans.PropertyChangeListener)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。