是否可以将KeyEvent
发布到LWJGL窗口?我想以编程方式发送按键和按键发布。我的应用程序中有多个窗口,因此我无法使用java.awt.Robot
,因为它需要关注。
到目前为止我已经尝试了
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(
new KeyEvent(null, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0,
KeyEvent.VK_LEFT, '\0')
);
没有成功。我只得到
Exception in thread "Thread-0" java.lang.IllegalArgumentException: null source
因为null参数。我也尝试将匿名java.awt.Component
设为new JPanel()
而不是null,但没有任何事情发生。实现我想要的正确方法是什么?
答案 0 :(得分:0)
这就是我所说的Component。
//Component for key focus, could focus it on anything really.
Component source = Component.getFocusComponent();
//Send dispatchEvent EventKey with your example key.
source.dispatchEvent(new KeyEvent(source, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0,
KeyEvent.VK_LEFT, '\0');
当然,这需要一些工作,但我相信这就是你所需要的 如果没有,那么我完全不知道你想要什么抱歉。