Module java.desktop
Package javax.swing

Class AbstractAction

java.lang.Object
javax.swing.AbstractAction
所有已实现的接口:
ActionListener, Serializable, Cloneable, EventListener, Action
直接已知的子类:
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, MetalFileChooserUI.DirectoryComboBoxAction, TextAction

public abstract class AbstractAction extends Object implements Action, Cloneable, Serializable
该类为JFC Action接口提供了默认实现。在这里定义了Action对象属性(图标、文本和启用状态)的获取和设置方法。开发人员只需继承这个抽象类并定义actionPerformed方法。

警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4版本开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

自:
1.2
参见:
  • Field Details

    • enabled

      protected boolean enabled
      指定操作是否启用;默认为true。
    • changeSupport

      protected SwingPropertyChangeSupport changeSupport
      如果已注册任何PropertyChangeListeners,则changeSupport字段描述它们。
  • Constructor Details

    • AbstractAction

      public AbstractAction()
      创建一个Action
    • AbstractAction

      public AbstractAction(String name)
      创建一个指定名称的Action
      参数:
      name - 操作的名称(Action.NAME);如果为null,则忽略
    • AbstractAction

      public AbstractAction(String name, Icon icon)
      创建一个指定名称和小图标的Action
      参数:
      name - 操作的名称(Action.NAME);如果为null,则忽略
      icon - 操作的小图标(Action.SMALL_ICON);如果为null,则忽略
  • Method Details

    • getValue

      public Object getValue(String key)
      获取与指定键关联的Object
      指定者:
      getValue 在接口 Action
      参数:
      key - 包含指定key的字符串
      返回:
      存储在此键下的绑定Object;如果没有键,则返回null
      参见:
    • putValue

      public void putValue(String key, Object newValue)
      设置与指定键关联的Value
      指定者:
      putValue 在接口 Action
      参数:
      key - 标识存储对象的String
      newValue - 使用此键存储的Object
      参见:
    • isEnabled

      public boolean isEnabled()
      如果操作已启用,则返回true。
      指定者:
      isEnabled 在接口 Action
      返回:
      如果操作已启用,则返回true,否则返回false
      参见:
    • setEnabled

      public void setEnabled(boolean newValue)
      设置Action是否启用。默认为true
      指定者:
      setEnabled 在接口 Action
      参数:
      newValue - true表示启用操作,false表示禁用操作
      参见:
    • getKeys

      public Object[] getKeys()
      返回为此AbstractAction设置了值的所有键的Object数组,如果没有设置值的键,则返回null
      返回:
      包含键对象的数组,如果没有设置值的键,则返回null
      自:
      1.3
    • firePropertyChange

      protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
      支持报告绑定属性更改。当绑定属性发生更改时,可以调用此方法,并将适当的PropertyChangeEvent发送给任何已注册的PropertyChangeListeners
      参数:
      propertyName - 已更改的属性的名称
      oldValue - 属性的旧值
      newValue - 属性的新值
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      添加一个PropertyChangeListener到监听器列表中。该监听器将被注册用于所有属性。

      响应设置绑定属性(例如setFontsetBackgroundsetForeground)将触发PropertyChangeEvent。请注意,如果当前组件从其容器继承前景、背景或字体,则不会对继承属性的更改触发任何事件。

      指定者:
      addPropertyChangeListener 在接口 Action
      参数:
      listener - 要添加的PropertyChangeListener
      参见:
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      从监听器列表中移除一个PropertyChangeListener。这将移除一个为所有属性注册的PropertyChangeListener
      指定者:
      removePropertyChangeListener 在接口 Action
      参数:
      listener - 要移除的PropertyChangeListener
      参见:
    • getPropertyChangeListeners

      public PropertyChangeListener[] getPropertyChangeListeners()
      返回添加到此AbstractAction中的所有PropertyChangeListener的数组,使用addPropertyChangeListener()添加。
      返回:
      所有已添加的PropertyChangeListener数组,如果未添加任何监听器,则返回空数组
      自:
      1.4
    • clone

      protected Object clone() throws CloneNotSupportedException
      克隆抽象动作。这将为克隆体提供其自己的键/值列表副本,这不是由Object.clone()为您处理的。
      覆盖:
      clone 在类 Object
      返回:
      此实例的克隆体。
      抛出:
      CloneNotSupportedException - 如果对象的类不支持Cloneable接口。覆盖clone方法的子类也可以抛出此异常,以指示实例无法被克隆。
      参见: