JavaTM Platform
Standard Ed. 6

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 箇所で定義できます。

このインタフェースは既存のクラスに追加したり、アダプタの生成 (通常は AbstractAction のサブクラス化) に使用したりすることができます。そして、Action オブジェクトが複数の Action 処理コンテナに追加され、Action の機能を持ったコンポーネントに接続されます。これによって、Action オブジェクトの setEnabled メソッドを呼び出して、GUI コントロールを一度に起動または終了できます。

Action の実装は、記憶領域の点で通常の ActionListener より負荷が大きくなることが多いので、機能の中央制御やプロパティー変更の通知といった利点を提供できません。このため、これらの機能を利用する必要がある場合にのみ Action を使用するようにして、それ以外では単純な ActionListener を使用するようにしてください。

Action をサポートする Swing コンポーネント

多くの Swing コンポーネントは、Action プロパティーを持っています。コンポーネントに Action が設定されると、次のことが行われます。

次の表では、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
 

フィールドの詳細

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

メニューとボタンで同じ Action を使用する場合は、通常、SMALL_ICON と LARGE_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」に設定します。

導入されたバージョン:
1.3
関連項目:
定数フィールド値

SELECTED_KEY

static final String SELECTED_KEY
選択された状態に対応する Boolean の格納に使用されるキーです。通常、意味のある選択状態のコンポーネントでのみ使用されます。たとえば、JRadioButton と JCheckBox はこれを使用しますが、JMenu のインスタンスは使用しません。

このプロパティーは、コンポーネントによって読み取りと設定の両方が行われる点で、ほかのプロパティーとは異なっています。たとえば、Action が JCheckBox に接続されている場合、JCheckBox の選択状態は Action の選択状態から設定されます。ユーザーが JCheckBox をクリックすると、JCheckBox および Action の両方の選択状態が更新されます。

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

導入されたバージョン:
1.6
関連項目:
定数フィールド値

DISPLAYED_MNEMONIC_INDEX_KEY

static final String DISPLAYED_MNEMONIC_INDEX_KEY
ニーモニックの装飾が描画されるテキスト内のインデックス (NAME プロパティーで識別される) に対応する Integer の格納に使用されるキーです。このプロパティーの値がテキストの長さ以上の場合は、-1 として処理されます。

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

導入されたバージョン:
1.6
関連項目:
AbstractButton.setDisplayedMnemonicIndex(int), 定数フィールド値

LARGE_ICON_KEY

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

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

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

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

getValue

Object getValue(String key)
関連付けられているキーを使ってオブジェクトのプロパティーを一つ返します。

関連項目:
putValue(java.lang.String, java.lang.Object)

putValue

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

パラメータ:
key - キーが格納されている String
value - Object 値

setEnabled

void setEnabled(boolean b)
Action の有効状態を設定します。有効な場合は、このオブジェクトに関連した任意のコンポーネントはアクティブであり、オブジェクトの actionPerformed メソッドをトリガーできます。値が変更されると、PropertyChangeEvent がリスナーに送信されます。

パラメータ:
b - この Action を有効にする場合は true、無効にする場合は false

isEnabled

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

戻り値:
この Action が有効な場合は true

addPropertyChangeListener

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

パラメータ:
listener - PropertyChangeListener オブジェクト

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChange リスナーを削除します。

パラメータ:
listener - PropertyChangeListener オブジェクト
関連項目:
addPropertyChangeListener(java.beans.PropertyChangeListener)

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。