我很难使用组合键 Shift + F9 和 Shift + F10 在swing JPanel中触发关键动作。它在Windows中工作时不会被激活,但相同的代码在Ubuntu中运行没有任何问题。以下是我在JPanel窗口顶部设置组合键的方法:
private void addKeyBinding(JComponent jc) {
key = 112;
for (int i = 0; i < 10; i++) {
jc.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(key++, KeyEvent.SHIFT_DOWN_MASK, false), ("shift-F" + (i + 1)));
final int j = i;
jc.getActionMap().put(("shift-F" + (i + 1)), new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
System.out.println("key pressed");
}
});
}
}
但是,以下代码对Shift + F1键直到Shift + F8没有任何问题。