zsl*_*evi 0 java swing focus keyboard-events
我想在使用SWING的游戏中添加键盘快捷键.到目前为止,我一直在使用以下代码:
KeyboardFocusManager.getCurrentKeyboardFocusManager()
.addKeyEventDispatcher(new KeyEventDispatcher() {
@Override
public boolean dispatchKeyEvent(KeyEvent e) { ... }
Run Code Online (Sandbox Code Playgroud)
出于测试目的,我想创建此应用程序的两个实例(测试网络播放).问题是当我使用热键时,非聚焦窗口会抓住焦点.(稍后创建的窗口.)
我怀疑问题是这样的
KeyboardFocusManager.getCurrentKeyboardFocusManager()
Run Code Online (Sandbox Code Playgroud)
是一个静态方法(两个实例都是从同一个JVM启动的).
我唯一想到的另一个选择是让每个组件将他们的键事件委托给祖先JFrame,并在一个地方处理它们,但这会涉及很多锅炉代码,我认为这将是一个丑陋的解.
此外,在正常的游戏过程中不会出现问题,它只会让我在测试时烦恼.
归档时间: |
|
查看次数: |
150 次 |
最近记录: |