我想让我的程序在用户按下某个快捷方式时取消隐藏主窗口。有没有办法获得全局关键事件,而不仅仅是焦点位于应用程序框架内时发生的事件?有没有办法让键盘事件没有JFrame?
2
A
回答
3
这可能会做你想做的。请注意,此代码正在检查Ctr-F按键。我使用这段代码在应用程序中打开一个查找对话框。我很确定该应用程序必须有重点。东西至少要尝试...
AWTEventListener listener = new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
try {
KeyEvent evt = (KeyEvent)event;
if(evt.getID() == KeyEvent.KEY_PRESSED && evt.getModifiers() == KeyEvent.CTRL_MASK && evt.getKeyCode() == KeyEvent.VK_F) {
}
}
catch(Exception e) {
e.printStackTrace();
}
}
};
Toolkit.getDefaultToolkit().addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK);
编辑:我想我明白你想要什么。基本上当应用程序没有焦点。如果是这样,那么你可能必须使用本地API(JNI)挂钩到OS事件中,但是这会强制你到特定的操作系统...
3
This可能会有用。我不确定是否有一个适用于Windows/Linux/Mac的库。对于Windows,您将需要一些使用本机代码创建键盘挂钩的外部库。我不知道如何在其他操作系统上执行此操作。
相关问题
- 1. 有没有办法在键盘事件中使用e.pageX/Y?
- 2. 有没有办法在GWT中捕获键盘事件?
- 3. 有没有办法让键盘触发按钮按下?
- 4. 有没有办法找到是否显示软件键盘?
- 5. 有没有办法停止OnItemSaving事件?
- 6. 有没有办法触发事件viewDidUnload?
- 7. 有没有办法查看所有VIM键盘绑定?
- 8. 有没有办法在Xcode 4中拥有VIM键盘绑定?
- 9. Sprite没有收到键盘事件
- 10. MFC:有没有办法没有On_Bn_Clicked()事件的活动按钮?
- 11. 有没有办法让NetBeans使用Amazon-ec2磁盘空间?
- 12. 有没有办法让元素在GTM
- 13. 有没有办法让这项工作?
- 14. viewflow.io:有没有办法让'子流'?
- 15. 有没有办法让@ModelAttribute动态?
- 16. 有没有办法让相机胶卷
- 17. 有没有办法让Browserify更快?
- 18. 有没有办法让Vis.js Network居中?
- 19. 有没有办法让Calendar Extender限制?
- 20. 有没有办法让@PersistenceContext更灵活?
- 21. 有没有办法让Boost.Assign一个ptr_vector?
- 22. 有没有办法让YQL返回HTML?
- 23. 有没有办法让配置“递归”?
- 24. Silverlight - 有没有办法让'variadic'UriMapping?
- 25. 有没有办法自定义文本框的屏幕键盘?
- 26. 有没有办法判断是否显示软键盘?
- 27. 有没有办法告诉gcc从键盘上读取程序?
- 28. 有没有办法停止通过键盘点击按钮?
- 29. 有没有办法显示使用键盘悬停JavaDoc帮助?
- 30. 有没有办法在iPhone上编程操作键盘?
伤心。我希望会有一些平台无关的方式:( – Rogach 2011-01-05 21:20:09
请确保检查链接,altanis提供下面。有一点关于(可能)为什么它不是在Java中的讨论。关于也许OSX没有。没有做足够的OSX编程来知道这是真的还是假的...... – Merky 2011-01-05 21:29:04