【发布时间】:2013-06-13 17:57:20
【问题描述】:
我在添加另一个 JPanel 和 5 JLabels 时遇到了 Java KeyListener 的问题,我在这个网站上进行了搜索,这个问题的大多数解决方案都涉及从 KeyListener 切换到 @987654325 @。这对我不起作用,因为我需要确切知道何时按下、释放和按住某个键。据我所知,KeyBindings 并未提供所有这些。
我尝试过使用
this.requestFocus();
在创建新的JPanel 之后,但它不起作用,但是当我在paintComponent() 中使用同一行时,它起作用了。这让我想到了我的问题:这如何反映性能?我的paintComponent() 被调用大约 60 次/秒。有没有办法调用它一次并且仍然可以正常工作?我看到JComponent 类型中的requestDefaultFocus() 已被弃用...
我也尝试将相同的 KeyListener 添加到第二个 JPanel,但这没有帮助。我猜其中一个 JLabels 是引起关注的那个?
【问题讨论】:
标签: java swing jpanel keylistener key-bindings