- すべてのスーパー・インタフェース:
- 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
public interface Action extends ActionListener
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
- 関連項目:
- AbstractAction
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static StringACCELERATOR_KEYアクションのアクセラレータとして使用するKeyStrokeの格納に使用されるキーです。static StringACTION_COMMAND_KEYJComponentに関連するKeymapに常駐している結果としてActionが通知されるとき作成される、ActionEventのコマンドStringの判定に使用されるキーです。static StringDEFAULT現在使用されていません。static StringDISPLAYED_MNEMONIC_INDEX_KEYニーモニックの装飾が描画されるテキスト内のインデックス(NAMEプロパティで識別される)に対応するIntegerの格納に使用されるキーです。static StringLARGE_ICON_KEYIconを格納するために使用されるキーです。static StringLONG_DESCRIPTIONアクションに関する詳細なStringの説明を格納するために使用されるキーです。コンテキスト依存ヘルプで使用できます。static StringMNEMONIC_KEYKeyEventキー・コードの1つに対応するIntegerの格納に使用されるキーです。static StringNAMEアクションの名前を表すStringの格納に使用するキーです。メニューまたはボタンで使われます。static StringSELECTED_KEY選択された状態に対応するBooleanの格納に使用されるキーです。static StringSHORT_DESCRIPTIONアクションに関する短いStringの説明を格納するために使用されるキーです。ツールヒントのテキストに使用されます。static StringSMALL_ICONImageIconのような小さいIconを格納するために使用されるキーです。
- 
メソッドのサマリー修飾子と型 メソッド 説明 default booleanaccept(Object sender)アクションを指定された送信者オブジェクトで実行する必要があるかどうかを決定します。voidaddPropertyChangeListener(PropertyChangeListener listener)PropertyChangeリスナーを追加します。ObjectgetValue(String key)関連付けられているキーを使ってオブジェクトのプロパティを1つ返します。booleanisEnabled()Actionの有効状態を返します。voidputValue(String key, Object value)関連付けられているキーを使って、オブジェクトのプロパティを1つ設定します。voidremovePropertyChangeListener(PropertyChangeListener listener)PropertyChangeリスナーを削除します。voidsetEnabled(boolean b)Actionの有効状態を設定します。インタフェース java.awt.event.ActionListenerで宣言されたメソッドactionPerformed
- 
フィールド詳細- 
DEFAULTstatic final String DEFAULT現在使用されていません。- 関連項目:
- 定数フィールド値
 
- 
NAMEstatic final String NAMEアクションの名前を表すStringの格納に使用するキーです。メニューまたはボタンで使われます。- 関連項目:
- 定数フィールド値
 
- 
SHORT_DESCRIPTIONstatic final String SHORT_DESCRIPTIONアクションに関する短いStringの説明を格納するために使用されるキーです。ツールヒントのテキストに使用されます。- 関連項目:
- 定数フィールド値
 
- 
LONG_DESCRIPTIONstatic final String LONG_DESCRIPTIONアクションに関する詳細なStringの説明を格納するために使用されるキーです。コンテキスト依存ヘルプで使用できます。- 関連項目:
- 定数フィールド値
 
- 
SMALL_ICONstatic final String SMALL_ICONImageIconのような小さいIconを格納するために使用されるキーです。 通常はJMenuItemなどのメニューで使用されます。メニューとボタンで同じ Actionを使用する場合は、通常、SMALL_ICONとLARGE_ICON_KEYを両方とも指定します。 メニューはSMALL_ICON、ボタンはLARGE_ICON_KEYを使用します。- 関連項目:
- 定数フィールド値
 
- 
ACTION_COMMAND_KEYstatic final String ACTION_COMMAND_KEYJComponentに関連するKeymapに常駐している結果としてActionが通知されるとき作成される、ActionEventのコマンドStringの判定に使用されるキーです。- 関連項目:
- 定数フィールド値
 
- 
ACCELERATOR_KEYstatic final String ACCELERATOR_KEYアクションのアクセラレータとして使用するKeyStrokeの格納に使用されるキーです。- 導入されたバージョン:
- 1.3
- 関連項目:
- 定数フィールド値
 
- 
MNEMONIC_KEYstatic 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_KEYstatic final String SELECTED_KEY選択された状態に対応するBooleanの格納に使用されるキーです。 通常、意味のある選択状態のコンポーネントでのみ使用されます。 たとえば、JRadioButtonとJCheckBoxはこれを使用しますが、JMenuのインスタンスは使用しません。このプロパティは、コンポーネントによって読取りと設定の両方が行われる点で、ほかのプロパティとは異なっています。 たとえば、 ActionがJCheckBoxに接続されている場合、JCheckBoxの選択状態はActionの選択状態から設定されます。 ユーザーがJCheckBoxをクリックすると、JCheckBoxとActionの両方の選択状態が更新されます。ノート: 既存の Actionsとの競合を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。- 導入されたバージョン:
- 1.6
- 関連項目:
- 定数フィールド値
 
- 
DISPLAYED_MNEMONIC_INDEX_KEYstatic final String DISPLAYED_MNEMONIC_INDEX_KEYニーモニックの装飾が描画されるテキスト内のインデックス(NAMEプロパティで識別される)に対応するIntegerの格納に使用されるキーです。 このプロパティの値がテキストの長さ以上の場合は、-1として処理されます。ノート: 既存の Actionsとの競合を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。- 導入されたバージョン:
- 1.6
- 関連項目:
- AbstractButton.setDisplayedMnemonicIndex(int), 定数フィールド値
 
- 
LARGE_ICON_KEYstatic 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(java.lang.String, java.lang.Object)
 
- 
putValue関連付けられているキーを使って、オブジェクトのプロパティを1つ設定します。 値が変更されると、PropertyChangeEventがリスナーに送信されます。- パラメータ:
- key- キーが格納されている- String
- value-- Object値
 
- 
setEnabledvoid setEnabled(boolean b)Actionの有効状態を設定します。 有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、このオブジェクトのactionPerformedメソッドをトリガーできます。 値が変更されると、PropertyChangeEventがリスナーに送信されます。- パラメータ:
- b- この- Actionを有効にする場合はtrue、無効にする場合はfalse
- 関連項目:
- accept(java.lang.Object)
 
- 
isEnabledboolean isEnabled()Actionの有効状態を返します。 有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、このオブジェクトのactionPerformedメソッドをトリガーできます。- 戻り値:
- このActionが有効な場合はtrue
- 関連項目:
- accept(java.lang.Object)
 
- 
acceptdefault boolean accept(Object sender)アクションを指定された送信者オブジェクトで実行する必要があるかどうかを決定します。senderはnullです。 アクションが無効な場合、このメソッドはfalseを返す必要があります。- パラメータ:
- sender- 検査するオブジェクトはnullでもかまいません。
- 戻り値:
- true送信者オブジェクトでアクションを実行する必要がある場合は、アクションが無効になっている場合はfalseにする必要があります。
- 関連項目:
- isEnabled()、- setEnabled(boolean)
 
- 
addPropertyChangeListenervoid addPropertyChangeListener(PropertyChangeListener listener)PropertyChangeリスナーを追加します。 コンテナ、および接続されたコンポーネントは、これらのメソッドを使用してActionオブジェクトの通知対象として登録します。 有効になった場合、またはその他のプロパティが変化した場合、登録されたリスナーに変更が通知されます。- パラメータ:
- listener-- PropertyChangeListenerオブジェクト
 
- 
removePropertyChangeListenervoid removePropertyChangeListener(PropertyChangeListener listener)PropertyChangeリスナーを削除します。- パラメータ:
- listener-- PropertyChangeListenerオブジェクト
- 関連項目:
- addPropertyChangeListener(java.beans.PropertyChangeListener)
 
 
-