public class InputMap extends Object implements Serializable
InputMap
提供输入事件之间的绑定(目前仅使用KeyStroke
)和Object
。
InputMap
通常与ActionMap
一起使用,以确定按下键时执行的Action
。
一个InputMap
可以有一个父类,可以搜索InputMap
未定义的绑定。
和ActionMap
如果你创建一个循环,例如:
InputMap am = new InputMap();
InputMap bm = new InputMap():
am.setParent(bm);
bm.setParent(am);
一些方法将导致抛出一个StackOverflowError。
Constructor and Description |
---|
InputMap()
创建一个没有父对象的
InputMap ,没有映射。
|
Modifier and Type | Method and Description |
---|---|
KeyStroke[] |
allKeys()
返回此
InputMap 及其父级中定义的
KeyStroke 的数组。
|
void |
clear()
从这个
InputMap 删除所有的映射。
|
Object |
get(KeyStroke keyStroke)
返回
keyStroke 的绑定,如果绑定不在本地定义,则发送父
InputMap 。
|
InputMap |
getParent()
得到这个
InputMap 的父母。
|
KeyStroke[] |
keys()
返回
KeyStroke 中绑定的
InputMap 。
|
void |
put(KeyStroke keyStroke, Object actionMapKey)
将
keyStroke 的绑定添加到
actionMapKey 。
|
void |
remove(KeyStroke key)
从
InputMap 删除
key 的绑定。
|
void |
setParent(InputMap map)
设置这个
InputMap 的父母。
|
int |
size()
返回
KeyStroke 绑定的数量。
|
public void setParent(InputMap map)
InputMap
的父母。
map
- 这是一个
InputMap
的父母
public InputMap getParent()
InputMap
的父母。
InputMap
映射为该父项,如果此
InputMap
没有父级,则为null
public void put(KeyStroke keyStroke, Object actionMapKey)
keyStroke
的绑定添加到actionMapKey
。
如果actionMapKey
为空,则将删除keyStroke
的当前绑定。
public void remove(KeyStroke key)
InputMap
删除
key
的绑定。
public void clear()
InputMap
删除所有的映射。
public KeyStroke[] keys()
KeyStroke
中绑定的
InputMap
。
public int size()
KeyStroke
绑定的数量。
public KeyStroke[] allKeys()
InputMap
及其父级中定义的KeyStroke
的数组。
这与keys()
的不同之处在于,该方法包括在父级中定义的键。