Java プラットフォーム 1.2

javax.swing
インタフェース Action

既知の実装クラスの一覧:
AbstractAction

public abstract interface Action
extends ActionListener

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

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

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

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

関連項目:
AbstractAction

フィールドの概要
static String DEFAULT
          オブジェクトのプロパティ (テキストまたはアイコン) を設定または取得するときに、記憶取得キーとして使うと便利な定数です。
static String LONG_DESCRIPTION
          アクションについての詳細な説明を格納するために使われるキーです。
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
アクションに対応する小さいアイコンを格納するために使われるキーです。ツールバーのボタンに使われます。
メソッドの詳細

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)

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.