モジュール java.desktop
パッケージ javax.swing

インタフェースAction

すべてのスーパー・インタフェース:
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が設定されると、次のことが行われます。

  • ActionActionListenerとしてコンポーネントに追加されます。
  • コンポーネントは、一部のプロパティをActionに一致するように構成します。
  • コンポーネントは、Actionのプロパティの変更に応じてプロパティを変更できるように、ActionPropertyChangeListenerをインストールします。

ActionsをサポートするSwingコンポーネントによって使用されるプロパティを次の表に示します。 表のボタンはいずれかのAbstractButtonサブクラスを表し、JButtonだけでなく、JMenuItemなどのクラスも含みます。 他に記述がないかぎり、Actionnullプロパティ値(またはnullであるAction)により、ボタンの対応するプロパティにnullが設定されます。

サポートされるActionプロパティ
コンポーネントのプロパティ コンポーネント アクション・キー ノート
enabled すべて isEnabledメソッド  
toolTipText すべて SHORT_DESCRIPTION  
actionCommand すべて ACTION_COMMAND_KEY  
mnemonic すべてのボタン MNEMONIC_KEY null値またはActionは、ボタンのmnemonicプロパティを'\0'に設定することになります。
text すべてのボタン NAME ボタンのテキストにActionのテキストを反映させたくない場合は、プロパティhideActionTexttrueに設定します。 hideActionTexttrueの場合、Actionを設定すると、ボタンのテキストがnullに変更され、NAMEの変更はすべて無視されます。hideActionTextは一般にIconのみを表示するツール・バー・ボタンに便利です。 LARGE_ICON_KEYまたはSMALL_ICONActionnull以外の値を持つ場合、JToolBar.add(Action)はプロパティをtrueに設定します。
displayedMnemonicIndex すべてのボタン DISPLAYED_MNEMONIC_INDEX_KEY DISPLAYED_MNEMONIC_INDEX_KEYの値がテキストの境界を越える場合は、無視されます。 setActionが呼び出されたときに、Actionの値がnullの場合は、ニーモニックのインデックスの表示は更新されません。 そのあとでDISPLAYED_MNEMONIC_INDEX_KEYに変更を加える際には、nullは -1として処理されます。
icon JCheckBoxJToggleButton、およびJRadioButtonを除くすべてのボタン。 LARGE_ICON_KEYまたはSMALL_ICON JMenuItemサブクラスはSMALL_ICONのみを使用します。 他のすべてのボタンはLARGE_ICON_KEYを使用します。値がnullの場合、それらはSMALL_ICONを使用します。
accelerator すべてのJMenuItemサブクラス(JMenuを除く)。 ACCELERATOR_KEY  
selected JToggleButtonJCheckBoxJRadioButtonJCheckBoxMenuItem、およびJRadioButtonMenuItem SELECTED_KEY このプロパティに従うコンポーネントは、値がnull以外である場合、この値だけを使用します。 たとえば、JToggleButtonSELECTED_KEYの値がnullであるActionを設定した場合、JToggleButtonは選択状態を決して更新しません。 同様に、ActionSELECTED_KEYnull以外の値の場合、JToggleButtonの選択状態が変化するたびに、値はActionに戻ります。
このプロパティに従うコンポーネントは、選択状態をこのプロパティの状態と同期化します。
同じActionを複数のコンポーネントで使用する場合、すべてのコンポーネントの選択状態がこのプロパティの状態と同期します。 ButtonGroup内のJToggleButtonのように、相互に排他的な関係にあるボタンは、そのうちのどれか1つだけが選択されます。 このため、SELECTED_KEYプロパティの値を定義する1つの同じActionを、相互に排他的な関係にある複数のボタンで使用しないでください。

JPopupMenuJToolBar、およびJMenuはいずれも、コンポーネントの作成と、対応するコンポーネント上でのActionの設定に便利なメソッドを提供します。 詳細は、各クラスの説明を参照してください。

Actionは、PropertyChangeListenerを使って、Actionが変更されたことをリスナーに通知します。 Bean仕様には、プロパティ名nullを使って複数の値が変更されたことを示すことができると記載されています。 デフォルトでは、Actionを実行するSwingコンポーネントは、このような変更を処理しません。 SwingがBean仕様に従ってnullを処理するようにするには、システム・プロパティswing.actions.reconfigureOnNullStringtrueに設定します。

導入されたバージョン:
1.2
関連項目: