【发布时间】:2014-12-23 19:14:13
【问题描述】:
我有一个 JFrame(包含各种文本字段和表格等),并且想要安装一个热键功能,该功能在框架打开时应用(有点像菜单加速器快捷方式)。以下主要有效,无论哪个字段或控件具有焦点,都会调用我的操作:
String MY_GLOBAL_ACTION_TRIGGER = "hotKey";
InputMap im = getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
KeyStroke ks = KeyStroke.getKeyStroke('`');
im.put(ks, MY_GLOBAL_ACTION_TRIGGER);
ActionMap am = getRootPane().getActionMap();
am.put(MY_ACTION_TRIGGER, new AbstractAction() { public void actionPerformed() ... });
但是,按键没有被消耗,我仍然在文本字段中插入了一个反引号。调用我的操作后,如何防止按键传播到文本字段?
【问题讨论】: