首先,这不是用于键盘记录器,而是用于 roguelike 游戏中的输入,其中JLabel
我JFrame
会说“名称:”并且我希望能够键入 A-Za-z。在查看了许多按键输入选项之后,我又回到了开始使用KeyStroke
s 和Action
s 的地方。
我想知道是否有办法添加一系列键,而不是重复 56 次:
Action a = new AbstractAction() {
public void actionPerformed(ActionEvent e) {
// add a to string
}
};
getInputMap().put(KeyStroke.getKeyStroke("a"), "a");
getActionMap().put("a", a);
我的意思是,我可以这样做,只是写一点复制和粘贴,但我真的很讨厌那样。必须有一个比使用KeyListener
它不是很好的更优雅的解决方案,因为这意味着我必须以某种方式集中注意力,但我的窗口只是一个JFrame
很大JLabel
的窗口。
另外,我现在才做java几天,所以这就是为什么我可能错过了一个非常普遍的解决方案,但如果有的话,请分享!赞赏。