1

我有两个 JPanel。在第一个中,我有 3 个 JButton,第二个是根据从键盘读取的事件绘制图像。如果我设置 JButtons,setEnabled(false);我可以按预期使用键盘事件(如果我按下向上箭头,图像会向上移动),但是当按钮启用时,图像不会发生任何事情。甚至,如果我按下空格键,它的行为就像我点击按钮一样。

4

1 回答 1

5

问题不在于 JButton,而可能是因为您使用了 KeyListener。如果可以避免,请不要将 KeyListeners 与 Swing GUI 一起使用,而是使用 Key Bindings。KeyListeners 仅在被监听的组件具有焦点时才起作用,并且当您存在 JButtons 时,它们将获取焦点并阻止您的 KeyListener 工作。键绑定,如果做得好,可以避免这个问题。

例如,请在此处查看我的代码示例。

于 2012-08-14T03:06:52.623 回答