- すべてのスーパー・インタフェース:
ActionListener,EventListener
- 既知のすべての実装クラス:
AbstractAction,BasicDesktopPaneUI.CloseAction,BasicDesktopPaneUI.MaximizeAction,BasicDesktopPaneUI.MinimizeAction,BasicDesktopPaneUI.NavigateAction,BasicDesktopPaneUI.OpenAction,BasicFileChooserUI.ApproveSelectionAction,BasicFileChooserUI.CancelSelectionAction,BasicFileChooserUI.ChangeToParentDirectoryAction,BasicFileChooserUI.GoHomeAction,BasicFileChooserUI.NewFolderAction,BasicFileChooserUI.UpdateAction,BasicInternalFrameTitlePane.CloseAction,BasicInternalFrameTitlePane.IconifyAction,BasicInternalFrameTitlePane.MaximizeAction,BasicInternalFrameTitlePane.MoveAction,BasicInternalFrameTitlePane.RestoreAction,BasicInternalFrameTitlePane.SizeAction,BasicSliderUI.ActionScroller,BasicTreeUI.TreeCancelEditingAction,BasicTreeUI.TreeHomeAction,BasicTreeUI.TreeIncrementAction,BasicTreeUI.TreePageAction,BasicTreeUI.TreeToggleAction,BasicTreeUI.TreeTraverseAction,DefaultEditorKit.BeepAction,DefaultEditorKit.CopyAction,DefaultEditorKit.CutAction,DefaultEditorKit.DefaultKeyTypedAction,DefaultEditorKit.InsertBreakAction,DefaultEditorKit.InsertContentAction,DefaultEditorKit.InsertTabAction,DefaultEditorKit.PasteAction,HTMLEditorKit.HTMLTextAction,HTMLEditorKit.InsertHTMLTextAction,MetalFileChooserUI.DirectoryComboBoxAction,StyledEditorKit.AlignmentAction,StyledEditorKit.BoldAction,StyledEditorKit.FontFamilyAction,StyledEditorKit.FontSizeAction,StyledEditorKit.ForegroundAction,StyledEditorKit.ItalicAction,StyledEditorKit.StyledTextAction,StyledEditorKit.UnderlineAction,TextAction
Actionインタフェースは、同じ機能が複数のコントロールによってアクセスされる場合に、ActionListenerインタフェースに対する便利な拡張機能を提供します。
ActionListenerインタフェースで定義されるactionPerformedメソッドに加えてこのインタフェースを使用すると、アプリケーションでは次のものを1か所で定義できます。
- 機能を説明する、1つまたは複数のテキスト文字列。 この文字列は、ボタンの上にマウスを置いたときのテキスト表示や、メニュー項目のテキストの設定に使用できます。
- 機能を示す、1つまたは複数のアイコン。 このアイコンは、メニュー・コントロール内のイメージや、より高度なユーザー・インタフェースで使う複合エントリに使用できます。
- 機能の有効/無効の状態。 メニュー項目とツールバー・ボタンを個別に無効にする代わりに、アプリケーションは、このインタフェースを実装する機能を無効にできます。 状態変更のリスナーとして登録されているすべてのコンポーネントは、該当する項目のイベント生成を無効にすることを認識し、それに合わせて表示を変更します。
このインタフェースは既存のクラスに追加したり、アダプタの生成(通常はAbstractActionのサブクラス化)に使用したりすることができます。 そして、Actionオブジェクトが複数のAction対応コンテナに追加され、Action対応コンポーネントに接続されます。 これによって、ActionオブジェクトのsetEnabledメソッドを呼び出して、GUIコントロールをすべて一度に起動または終了できます。
Actionの実装は、機能の中央制御やプロパティ変更の通知といった利点を提供しない通常のActionListenerより、記憶領域の点で負荷が大きくなる傾向があります。 このため、それらの機能を利用する必要がある場合にのみActionを使用するようにして、それ以外では単純なActionListenerを使用するようにしてください。
ActionをサポートするSwingコンポーネント
多くのSwingコンポーネントは、Actionプロパティを持っています。 コンポーネントにActionが設定されると、次のことが行われます。
ActionがActionListenerとしてコンポーネントに追加されます。- コンポーネントは、一部のプロパティを
Actionに一致するように構成します。 - コンポーネントは、
Actionのプロパティの変更に応じてプロパティを変更できるように、ActionにPropertyChangeListenerをインストールします。
ActionsをサポートするSwingコンポーネントによって使用されるプロパティを次の表に示します。 表のボタンはいずれかのAbstractButtonサブクラスを表し、JButtonだけでなく、JMenuItemなどのクラスも含みます。 他に記述がないかぎり、Actionのnullプロパティ値(またはnullであるAction)により、ボタンの対応するプロパティにnullが設定されます。
| コンポーネント・プロパティ | コンポーネント | アクション・キー | ノート |
|---|---|---|---|
enabled
| すべて | isEnabledメソッド
| |
toolTipText
| すべて | SHORT_DESCRIPTION
| |
actionCommand
| すべて | ACTION_COMMAND_KEY
| |
mnemonic
| すべてのボタン | MNEMONIC_KEY
| null値またはActionは、ボタンのmnemonicプロパティを'\0'に設定することになります。
|
text
| すべてのボタン | NAME
| ボタンのテキストにActionのテキストを反映させたくない場合は、プロパティhideActionTextをtrueに設定します。 hideActionTextがtrueの場合、Actionを設定すると、ボタンのテキストがnullに変更され、NAMEの変更はすべて無視されます。hideActionTextは一般にIconのみを表示するツール・バー・ボタンに便利です。 LARGE_ICON_KEYまたはSMALL_ICONのActionがnull以外の値を持つ場合、JToolBar.add(Action)はプロパティを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
| このプロパティに従うコンポーネントは、値がnull以外である場合、この値だけを使用します。 たとえば、JToggleButtonのSELECTED_KEYの値がnullであるActionを設定した場合、JToggleButtonは選択状態を決して更新しません。 同様に、ActionのSELECTED_KEYがnull以外の値の場合、JToggleButtonの選択状態が変化するたびに、値はActionに戻ります。 このプロパティに従うコンポーネントは、選択状態をこのプロパティの状態と同期化します。 同じ Actionを複数のコンポーネントで使用する場合、すべてのコンポーネントの選択状態がこのプロパティの状態と同期します。 ButtonGroup内のJToggleButtonのように、相互に排他的な関係にあるボタンは、そのうちのどれか1つだけが選択されます。 このため、SELECTED_KEYプロパティの値を定義する1つの同じActionを、相互に排他的な関係にある複数のボタンで使用しないでください。
|
JPopupMenu、JToolBar、およびJMenuはいずれも、コンポーネントの作成と、対応するコンポーネント上でのActionの設定に便利なメソッドを提供します。 詳細は、各クラスの説明を参照してください。
Actionは、PropertyChangeListenerを使って、Actionが変更されたことをリスナーに通知します。 Bean仕様には、プロパティ名nullを使って複数の値が変更されたことを示すことができると記載されています。 デフォルトでは、Actionを実行するSwingコンポーネントは、このような変更を処理しません。 SwingがBean仕様に従ってnullを処理するようにするには、システム・プロパティswing.actions.reconfigureOnNullをString値trueに設定します。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final Stringアクションのアクセラレータとして使用するKeyStrokeの格納に使用されるキーです。static final StringJComponentに関連するKeymapに常駐している結果としてActionが通知されるとき作成される、ActionEventのコマンドStringの判定に使用されるキーです。static final String現在使用されていません。static final Stringニーモニックの装飾が描画されるテキスト内のインデックス(NAMEプロパティで識別される)に対応するIntegerの格納に使用されるキーです。static final StringIconを格納するために使用されるキーです。static final Stringアクションに関する詳細なStringの説明を格納するために使用されるキーです。コンテキスト依存ヘルプで使用できます。static final StringKeyEventキー・コードの1つに対応するIntegerの格納に使用されるキーです。static final Stringアクションの名前を表すStringの格納に使用するキーです。メニューまたはボタンで使われます。static final String選択された状態に対応するBooleanの格納に使用されるキーです。static final Stringアクションに関する短いStringの説明を格納するために使用されるキーです。ツールヒントのテキストに使用されます。static final StringImageIconのような小さいIconを格納するために使用されるキーです。 -
メソッドのサマリー
修飾子と型メソッド説明default boolean指定された送信者オブジェクトに対してアクションを実行するかどうかを決定します。voidPropertyChangeリスナーを追加します。関連付けられているキーを使ってオブジェクトのプロパティを1つ返します。booleanActionの有効状態を返します。void関連付けられているキーを使って、オブジェクトのプロパティを1つ設定します。voidPropertyChangeリスナーを削除します。voidsetEnabled(boolean b) Actionの有効状態を設定します。インタフェースjava.awt.event.ActionListenerで宣言されたメソッド
actionPerformed
-
フィールド詳細
-
DEFAULT
static final String DEFAULT現在使用されていません。- 関連項目:
-
NAME
static final String NAMEアクションの名前を表すStringの格納に使用するキーです。メニューまたはボタンで使われます。- 関連項目:
-
SHORT_DESCRIPTION
static final String SHORT_DESCRIPTIONアクションに関する短いStringの説明を格納するために使用されるキーです。ツールヒントのテキストに使用されます。- 関連項目:
-
LONG_DESCRIPTION
static final String LONG_DESCRIPTIONアクションに関する詳細なStringの説明を格納するために使用されるキーです。コンテキスト依存ヘルプで使用できます。- 関連項目:
-
SMALL_ICON
static final String SMALL_ICONImageIconのような小さいIconを格納するために使用されるキーです。 通常はJMenuItemなどのメニューで使用されます。メニューとボタンで同じ
Actionを使用する場合は、通常、SMALL_ICONとLARGE_ICON_KEYを両方とも指定します。 メニューはSMALL_ICON、ボタンはLARGE_ICON_KEYを使用します。- 関連項目:
-
ACTION_COMMAND_KEY
static final String ACTION_COMMAND_KEYJComponentに関連するKeymapに常駐している結果としてActionが通知されるとき作成される、ActionEventのコマンドStringの判定に使用されるキーです。- 関連項目:
-
ACCELERATOR_KEY
static final String ACCELERATOR_KEYアクションのアクセラレータとして使用するKeyStrokeの格納に使用されるキーです。- 導入されたバージョン:
- 1.3
- 関連項目:
-
MNEMONIC_KEY
static final String MNEMONIC_KEYKeyEventキー・コードの1つに対応するIntegerの格納に使用されるキーです。 この値は一般にニーモニックを指定するために使用されます。 例えば:myAction.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_A)はmyActionのニーモニックを'a'に設定し、myAction.putValue(Action.MNEMONIC_KEY, KeyEvent.getExtendedKeyCodeForChar('ф'))はmyActionのニーモニックをキリル文字"Ef"に設定します。- 導入されたバージョン:
- 1.3
- 関連項目:
-
SELECTED_KEY
static final String SELECTED_KEY選択された状態に対応するBooleanの格納に使用されるキーです。 通常、意味のある選択状態のコンポーネントでのみ使用されます。 たとえば、JRadioButtonとJCheckBoxはこれを使用しますが、JMenuのインスタンスは使用しません。このプロパティは、コンポーネントによって読取りと設定の両方が行われる点で、ほかのプロパティとは異なっています。 たとえば、
ActionがJCheckBoxに接続されている場合、JCheckBoxの選択状態はActionの選択状態から設定されます。 ユーザーがJCheckBoxをクリックすると、JCheckBoxとActionの両方の選択状態が更新されます。ノート: 既存の
Actionsとの競合を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。- 導入されたバージョン:
- 1.6
- 関連項目:
-
DISPLAYED_MNEMONIC_INDEX_KEY
static final String DISPLAYED_MNEMONIC_INDEX_KEYニーモニックの装飾が描画されるテキスト内のインデックス(NAMEプロパティで識別される)に対応するIntegerの格納に使用されるキーです。 このプロパティの値がテキストの長さ以上の場合は、-1として処理されます。ノート: 既存の
Actionsとの競合を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。- 導入されたバージョン:
- 1.6
- 関連項目:
-
LARGE_ICON_KEY
static final String LARGE_ICON_KEYIconを格納するために使用されるキーです。 通常、JButton、JToggleButtonなどのボタンで使用されます。メニューとボタンで同じ
Actionを使用する場合は、通常、SMALL_ICONとLARGE_ICON_KEYを両方とも指定します。 メニューはSMALL_ICON、ボタンはLARGE_ICON_KEYを使用します。ノート: 既存の
Actionsとの競合を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。- 導入されたバージョン:
- 1.6
- 関連項目:
-
-
メソッドの詳細
-
getValue
関連付けられているキーを使ってオブジェクトのプロパティを1つ返します。- パラメータ:
key- キーが格納されているString- 戻り値:
Objectの値- 関連項目:
-
putValue
関連付けられているキーを使って、オブジェクトのプロパティを1つ設定します。 値が変更されると、PropertyChangeEventがリスナーに送信されます。- パラメータ:
key- キーが格納されているStringvalue-Object値
-
setEnabled
void setEnabled(boolean b) Actionの有効状態を設定します。 有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、このオブジェクトのactionPerformedメソッドをトリガーできます。 値が変更されると、PropertyChangeEventがリスナーに送信されます。- パラメータ:
b- このActionを有効にする場合はtrue、無効にする場合はfalse- 関連項目:
-
isEnabled
boolean isEnabled()Actionの有効状態を返します。 有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、このオブジェクトのactionPerformedメソッドをトリガーできます。- 戻り値:
- この
Actionが有効な場合はtrue - 関連項目:
-
accept
default boolean accept(Object sender) 指定された送信者オブジェクトに対してアクションを実行するかどうかを決定します。senderはnullです。 アクションが無効になっている場合、メソッドはfalseを返す必要があります。- パラメータ:
sender- チェックするオブジェクトはnullにできます- 戻り値:
trueは、アクションを送信オブジェクトで実行する必要がある場合、アクションが無効になっている場合はfalseである必要があります。- 関連項目:
-
addPropertyChangeListener
void addPropertyChangeListener(PropertyChangeListener listener) PropertyChangeリスナーを追加します。 コンテナ、および接続されたコンポーネントは、これらのメソッドを使用してActionオブジェクトの通知対象として登録します。 有効になった場合、またはその他のプロパティが変化した場合、登録されたリスナーに変更が通知されます。- パラメータ:
listener-PropertyChangeListenerオブジェクト
-
removePropertyChangeListener
void removePropertyChangeListener(PropertyChangeListener listener) PropertyChangeリスナーを削除します。- パラメータ:
listener-PropertyChangeListenerオブジェクト- 関連項目:
-