我有两个 JPanel。在第一个中,我有 3 个 JButton,第二个是根据从键盘读取的事件绘制图像。如果我设置 JButtons,setEnabled(false);
我可以按预期使用键盘事件(如果我按下向上箭头,图像会向上移动),但是当按钮启用时,图像不会发生任何事情。甚至,如果我按下空格键,它的行为就像我点击按钮一样。
问问题
520 次
1 回答
5
问题不在于 JButton,而可能是因为您使用了 KeyListener。如果可以避免,请不要将 KeyListeners 与 Swing GUI 一起使用,而是使用 Key Bindings。KeyListeners 仅在被监听的组件具有焦点时才起作用,并且当您存在 JButtons 时,它们将获取焦点并阻止您的 KeyListener 工作。键绑定,如果做得好,可以避免这个问题。
例如,请在此处查看我的代码示例。
于 2012-08-14T03:06:52.623 回答