我有两个 JPanel。在第一个中,我有 3 个 JButtons,第二个是根据从键盘读取的事件绘制图像。如果我使用 setEnabled(false);
设置 JButtons,我可以按预期使用键盘事件(如果我按下向上箭头,图像会向上移动),但是当启用按钮时,图像没有任何反应.甚至,如果我按下空格键,它的行为就像我单击按钮一样。
最佳答案
问题不在于 JButton,而可能是因为您使用了 KeyListener。如果可以避免,请不要将 KeyListeners 与 Swing GUI 一起使用,而是使用键绑定(bind)。 KeyListeners 仅在被监听的组件具有焦点时才工作,并且当您有 JButtons 时,它们将占据焦点并阻止您的 KeyListener 工作。键绑定(bind),如果做得好,可以避免这个问题。
例如,请看我的代码示例here .
关于java - 禁用 JButtons 从键盘读取事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11945221/