モジュール 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
    関連項目:
    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を格納するために使用されるキーです。
    • フィールドの詳細

      • 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_ICON
        ImageIconのような小さいIconを格納するために使用されるキーです。 通常はJMenuItemなどのメニューで使用されます。

        メニューとボタンで同じActionを使用する場合は、通常、SMALL_ICONLARGE_ICON_KEYを両方とも指定します。 メニューはSMALL_ICON、ボタンはLARGE_ICON_KEYを使用します。

        関連項目:
        定数フィールド値
      • ACTION_COMMAND_KEY

        static final String ACTION_COMMAND_KEY
        JComponentに関連するKeymapに常駐している結果としてActionが通知されるとき作成される、ActionEventのコマンドStringの判定に使用されるキーです。
        関連項目:
        定数フィールド値
      • ACCELERATOR_KEY

        static final String ACCELERATOR_KEY
        アクションのアクセラレータとして使用するKeyStrokeの格納に使用されるキーです。
        導入されたバージョン:
        1.3
        関連項目:
        定数フィールド値
      • MNEMONIC_KEY

        static final String MNEMONIC_KEY
        KeyEventキー・コードの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の格納に使用されるキーです。 通常、意味のある選択状態のコンポーネントでのみ使用されます。 たとえば、JRadioButtonJCheckBoxはこれを使用しますが、JMenuのインスタンスは使用しません。

        このプロパティは、コンポーネントによって読取りと設定の両方が行われる点で、ほかのプロパティとは異なっています。 たとえば、ActionJCheckBoxに接続されている場合、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
        関連項目:
        AbstractButton.setDisplayedMnemonicIndex(int), 定数フィールド値
      • LARGE_ICON_KEY

        static final String LARGE_ICON_KEY
        Iconを格納するために使用されるキーです。 通常、JButtonJToggleButtonなどのボタンで使用されます。

        メニューとボタンで同じActionを使用する場合は、通常、SMALL_ICONLARGE_ICON_KEYを両方とも指定します。 メニューはSMALL_ICON、ボタンはLARGE_ICON_KEYを使用します。

        注: 既存のActionsとの競合を防ぐため、このフィールドの値の前には「Swing」という接頭辞が付きます。

        導入されたバージョン:
        1.6
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • getValue

        Object getValue​(String key)
        関連付けられているキーを使ってオブジェクトのプロパティを1つ返します。
        パラメータ:
        key - キーが格納されているString
        戻り値:
        Objectの値
        関連項目:
        putValue(java.lang.String, java.lang.Object)
      • putValue

        void putValue​(String key,
                      Object value)
        関連付けられているキーを使って、オブジェクトのプロパティを1つ設定します。 値が変更されると、PropertyChangeEventがリスナーに送信されます。
        パラメータ:
        key - キーが格納されているString
        value - Object
      • setEnabled

        void setEnabled​(boolean b)
        Actionの有効状態を設定します。 有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、このオブジェクトのactionPerformedメソッドをトリガーできます。 値が変更されると、PropertyChangeEventがリスナーに送信されます。
        パラメータ:
        b - このActionを有効にする場合はtrue、無効にする場合はfalse
        関連項目:
        accept(java.lang.Object)
      • isEnabled

        boolean isEnabled()
        Actionの有効状態を返します。 有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、このオブジェクトのactionPerformedメソッドをトリガーできます。
        戻り値:
        このActionが有効な場合はtrue
        関連項目:
        accept(java.lang.Object)
      • accept

        default boolean accept​(Object sender)
        アクションを指定された送信者オブジェクトで実行する必要があるかどうかを決定します。 sendernullです。 アクションが無効な場合、このメソッドはfalseを返す必要があります。

        パラメータ:
        sender - 検査するオブジェクトはnullでもかまいません。
        戻り値:
        true送信者オブジェクトでアクションを実行する必要がある場合は、アクションが無効になっている場合はfalseにする必要があります。
        関連項目:
        isEnabled()setEnabled(boolean)
      • addPropertyChangeListener

        void addPropertyChangeListener​(PropertyChangeListener listener)
        PropertyChangeリスナーを追加します。 コンテナ、および接続されたコンポーネントは、これらのメソッドを使用してActionオブジェクトの通知対象として登録します。 有効になった場合、またはその他のプロパティが変化した場合、登録されたリスナーに変更が通知されます。
        パラメータ:
        listener - PropertyChangeListenerオブジェクト