Module java.desktop
Package javax.swing

Class ActionMap

java.lang.Object
javax.swing.ActionMap
所有已实现的接口:
Serializable
直接已知的子类:
ActionMapUIResource

public class ActionMap extends Object implements Serializable
ActionMap 提供从Object(称为Action名称)到Action的映射。通常与InputMap一起使用ActionMap,以在按下键时定位特定操作。与InputMap一样,ActionMap可以有一个父级,用于搜索未在ActionMap中定义的键。

InputMap一样,如果创建循环,例如:

   ActionMap am = new ActionMap();
   ActionMap bm = new ActionMap():
   am.setParent(bm);
   bm.setParent(am);
 
一些方法将导致抛出StackOverflowError。
自版本:
1.3
参见:
  • Constructor Details

    • ActionMap

      public ActionMap()
      创建一个没有父级和映射的ActionMap
  • Method Details

    • setParent

      public void setParent(ActionMap map)
      设置此ActionMap的父级。
      参数:
      map - 是此ActionMap的父级
    • getParent

      public ActionMap getParent()
      返回此ActionMap的父级。
      返回:
      是此ActionMap的父级,如果此ActionMap没有父级则返回null
    • put

      public void put(Object key, Action action)
      key添加到action的绑定。如果action为null,则删除key的当前绑定。

      在大多数情况下,key将是action.getValue(NAME)

      参数:
      key - 一个键
      action - key的绑定
    • get

      public Action get(Object key)
      返回key的绑定,如果本地未定义绑定,则消息传递给父ActionMap
      参数:
      key - 一个键
      返回:
      key的绑定
    • remove

      public void remove(Object key)
      从此ActionMap中删除key的绑定。
      参数:
      key - 一个键
    • clear

      public void clear()
      删除此ActionMap中的所有映射。
    • keys

      public Object[] keys()
      返回在此ActionMap中绑定的Action名称。
      返回:
      键的数组
      返回此ActionMap中的绑定数。
      返回:
      ActionMap中的绑定数
      返回在此ActionMap及其父级中定义的键的数组。此方法与keys()不同之处在于此方法包括父级中定义的键。
      返回:
      键的数组
    • size

      public int size()
      Returns the number of bindings in this ActionMap.
      Returns:
      the number of bindings in this ActionMap
    • allKeys

      public Object[] allKeys()
      Returns an array of the keys defined in this ActionMap and its parent. This method differs from keys() in that this method includes the keys defined in the parent.
      Returns:
      an array of the keys