JavaTM 2 Platform
Std. Ed. v1.3

javax.swing
インタフェース Action

すべてのスーパーインタフェース:
ActionListener, EventListener
既知の実装クラスの一覧:
AbstractAction

public interface Action
extends ActionListener

Action インタフェースは、同じ機能が複数のコントロールによってアクセスされる場合に、ActionListener インタフェースに対する便利な拡張機能を提供します。

ActionListener インタフェースで定義される actionPerformed メソッドに加えて、このインタフェースによって、アプリケーションは以下のことを 1 箇所で定義できます。

Action オブジェクトの追加方法の情報を持ち、メニューやツールバーを含む、特定のコンテナ。このコンテナに Action オブジェクトが追加されると、コンテナは次のことを実行する
  1. そのコンテナに対する適切なコンポーネントの生成する。たとえば、ツールバーがボタンコンポーネントを生成するなど
  2. コンポーネントをカスタマイズするのに適切なプロパティを Action オブジェクトから取得する。たとえば、アイコンのイメージ、およびボタン上にカーソルがあるときに表示されるテキスト
  3. Action オブジェクトの初期状態を確認して、有効か無効かを決定し、適切な方法でコンポーネントを描画する
  4. Action オブジェクトとともにリスナーを登録して、状態の変化が通知されるようにする。Action オブジェクトが有効から無効に変化したり、戻ったりした場合に、コンテナはイベント生成機構に適切な変更を加え、それに合わせてコンポーネントを描画する
たとえば、メニュー項目およびツールバーボタンは、両方とも Cut アクションオブジェクトにアクセスできます。このオブジェクトに関連したテキストは「Cut」として指定され、はさみのイメージがオブジェクトのアイコンに指定されます。このようにして、Cut というアクションオブジェクトは、メニューおよびツールバーに追加されます。各コンテナはオブジェクトを適切に扱い、関連したコンポーネントがアクティブになると、actionPerformed メソッドを呼び出します。これでアプリケーションは、アプリケーションオブジェクトを有効あるいは無効にする際に、どのユーザインタフェースコンポーネントが接続されているかを気にせずに済みます。

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

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

関連項目:
AbstractAction

フィールドの概要
static String ACCELERATOR_KEY
          アクションのアクセラレータとして使用する KeyStroke の格納に使用するキーです。
static String ACTION_COMMAND_KEY
          JComponent に関連した Keymap に常駐している結果として、Action が通知されるときに生成される ActionEvent のコマンド文字列の判定に使用するキーです。
static String DEFAULT
          オブジェクトのプロパティ (テキストまたはアイコン) を設定または取得するときに、記憶取得キーとして使うと便利な定数です。
static String LONG_DESCRIPTION
          アクションについての詳細な説明を格納するために使われるキーです。
static String MNEMONIC_KEY
          アクションのニーモニックとして使用する int キーコードの格納に使用するキーです。
static String NAME
          アクションの名前を格納するために使われるキーです。
static String SHORT_DESCRIPTION
          アクションについての短い説明を格納するために使われるキーです。
static String SMALL_ICON
          アクションに対応する小さいアイコンを格納するために使われるキーです。
 
メソッドの概要
 void addPropertyChangeListener(PropertyChangeListener listener)
          PropertyChange リスナーを追加します。
 Object getValue(String key)
          関連しているキーを使ってオブジェクトのプロパティの 1 つを返します。
 boolean isEnabled()
          Action の有効状態を調べます。
 void putValue(String key, Object value)
          関連しているキーを使って、オブジェクトのプロパティの 1 つを設定します。
 void removePropertyChangeListener(PropertyChangeListener listener)
          PropertyChange リスナーを削除します。
 void setEnabled(boolean b)
          Action の有効状態を設定します。
 
インタフェース java.awt.event.ActionListener から継承したメソッド
actionPerformed
 

フィールドの詳細

DEFAULT

public static final String DEFAULT
オブジェクトのプロパティ (テキストまたはアイコン) を設定または取得するときに、記憶取得キーとして使うと便利な定数です。

NAME

public static final String NAME
アクションの名前を格納するために使われるキーです。メニューまたはボタンで使われます。

SHORT_DESCRIPTION

public static final String SHORT_DESCRIPTION
アクションについての短い説明を格納するために使われるキーです。ツールヒントのテキストに使われます。

LONG_DESCRIPTION

public static final String LONG_DESCRIPTION
アクションについての詳細な説明を格納するために使われるキーです。コンテキスト依存ヘルプで使うことができます。

SMALL_ICON

public static final String SMALL_ICON
アクションに対応する小さいアイコンを格納するために使われるキーです。ツールバーのボタンに使われます。

ACTION_COMMAND_KEY

public static final String ACTION_COMMAND_KEY
JComponent に関連した Keymap に常駐している結果として、Action が通知されるときに生成される ActionEvent のコマンド文字列の判定に使用するキーです。

ACCELERATOR_KEY

public static final String ACCELERATOR_KEY
アクションのアクセラレータとして使用する KeyStroke の格納に使用するキーです。

MNEMONIC_KEY

public static final String MNEMONIC_KEY
アクションのニーモニックとして使用する int キーコードの格納に使用するキーです。
メソッドの詳細

getValue

public Object getValue(String key)
関連しているキーを使ってオブジェクトのプロパティの 1 つを返します。
関連項目:
putValue(java.lang.String, java.lang.Object)

putValue

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

setEnabled

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

isEnabled

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

addPropertyChangeListener

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

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChange リスナーを削除します。
パラメータ:
listener - PropertyChangeListener オブジェクト
関連項目:
addPropertyChangeListener(java.beans.PropertyChangeListener)

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.