JavaTM 2 Platform
Standard Ed. 5.0

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 方法之外,此接口还允许应用程序在单独某个地方定义:

某些容器,包括菜单和工具栏,知道如何添加 Action 对象。在将 Action 对象添加到某一个这类容器时,该容器:
  1. 创建一个适用于该容器的组件(例如,工具栏创建一个按钮组件)。
  2. Action 对象中获得适当的属性来自定义该组件(例如,图标图像和立体文本)。
  3. 检查 Action 对象的初始状态,确定它是否已被启用,并以适当的方式呈现该组件。
  4. 通过 Action 对象注册一个侦听器,以便状态更改时获得通知。当 Action 对象从启用更改为禁用时(或反之),容器将适当地修改事件生成机制,并相应地呈现该组件。
例如,菜单项和工具栏按钮都可以访问 Cut 操作对象。与该对象有关的文本被指定为 "Cut",画有一把剪刀的图像被指定为其图标。然后将 Cut 操作对象添加到菜单和工具栏中。每个容器都使用该对象做适当的事情,并在与之关联的组件被激活时调用其 actionPerformed 方法。然后,应用程序可以禁用或启用应用程序对象,而不必担心它连接了哪些用户界面组件。

可以将此接口添加到现有类中,或用它来创建一个适配器(通常通过为 AbstractAction 创建子类来实现)。然后可以将 Action 对象添加到多个可感知 Action 的容器中,并连接到可容纳 Action 的组件。然后可以通过调用 Action 对象的 setEnabled 方法同时激活 GUI 控件或取消控件的激活。

注意,Action 实现在存储方面的花费比典型的 ActionListener 要高,但后者不提供集中控制功能和广播属性更改的优点。因此,应该注意只在需要这些优点的地方使用 Action,在别处使用 ActionListener 即可。

另请参见:
AbstractAction

字段摘要
static String ACCELERATOR_KEY
          用于存储将用作操作加速器的 KeyStroke 的键。
static String ACTION_COMMAND_KEY
          用于确定 ActionEvent 的命令 String 的键,该事件在由于 Action 驻留在与 JComponent 相关联的 Keymap 中而将被通知时创建。
static String DEFAULT
          不常用。
static String LONG_DESCRIPTION
          该键用于存储较长的对操作的 String 描述,可用于上下文相关的帮助文件。
static String MNEMONIC_KEY
          用于存储将用作操作助记符的 KeyEvent 的键。
static String NAME
          用于存储操作的 String 名称的键,用于菜单或按钮。
static String SHORT_DESCRIPTION
          存储操作的简短字符串描述的键,用于工具栏文本。
static String SMALL_ICON
          用于存储操作的小型 Icon(比如 ImageIcon)的键,用于工具栏按钮。
 
方法摘要
 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
存储操作的简短字符串描述的键,用于工具栏文本。

另请参见:
常量字段值

LONG_DESCRIPTION

static final String LONG_DESCRIPTION
该键用于存储较长的对操作的 String 描述,可用于上下文相关的帮助文件。

另请参见:
常量字段值

SMALL_ICON

static final String SMALL_ICON
用于存储操作的小型 Icon(比如 ImageIcon)的键,用于工具栏按钮。

另请参见:
常量字段值

ACTION_COMMAND_KEY

static final String ACTION_COMMAND_KEY
用于确定 ActionEvent 的命令 String 的键,该事件在由于 Action 驻留在与 JComponent 相关联的 Keymap 中而将被通知时创建。

另请参见:
常量字段值

ACCELERATOR_KEY

static final String ACCELERATOR_KEY
用于存储将用作操作加速器的 KeyStroke 的键。

从以下版本开始:
1.3
另请参见:
常量字段值

MNEMONIC_KEY

static final String MNEMONIC_KEY
用于存储将用作操作助记符的 KeyEvent 的键。

从以下版本开始:
1.3
另请参见:
常量字段值
方法详细信息

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 - 为 true 表示启用此 Action;为 false 表示禁用它

isEnabled

boolean isEnabled()
返回 Action 的启用状态。在启用时,任何与此对象相关联的组件都被激活,并且都能触发此对象的 actionPerformed 方法。

返回:
如果启用此 Action,则返回 true

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener listener)
添加一个 PropertyChange 侦听器。对此 Action 对象感兴趣的容器和附属组件使用这些方法进行注册。当启用状态或其他属性发生更改时,已注册的侦听器会收到更改通知。

参数:
listener - 一个 PropertyChangeListener 对象

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener listener)
移除一个 PropertyChange 侦听器。

参数:
listener - 一个 PropertyChangeListener 对象
另请参见:
addPropertyChangeListener(java.beans.PropertyChangeListener)

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策