首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从java向任何应用程序发送键盘事件(屏幕上的键盘)

从java向任何应用程序发送键盘事件(屏幕上的键盘)
EN

Stack Overflow用户
提问于 2008-10-01 09:55:56
回答 5查看 11.5K关注 0票数 4

我正在用java开发一个屏幕键盘。对于每个可能的键,此键盘都有一个JComponent。当在按钮上检测到鼠标按下时,我想向当前焦点所在的应用程序发送特定的键盘代码。键盘本身在JFrame中,没有任何装饰,并设置为always-on-top。

我发现Robot类可以用来在本地队列上模拟这些键盘事件。但是,在本例中,选择JComponent将意味着在JFrame上接收到按键,而我无法在其他应用程序中接收到它

如何保持屏幕上的键盘“始终无焦点”?是否有可能使用另一种方法来发送按键?

EN

Stack Overflow用户

发布于 2008-10-09 14:24:40

到目前为止,我能找到的唯一解决方案是让每个键都是一个焦点(这样它就不能有焦点),并在JFrame上设置以下属性:

代码语言:javascript
运行
复制
    setUndecorated(true);
    setFocusableWindowState(false);
    setFocusable(false);
    enableInputMethods(false);

现在,在使用robot类时,我可以通过单击键将事件发送到任何焦点窗口。唯一的限制是,它似乎只对属于同一虚拟机的窗口起作用,而对任何其他系统窗口都不起作用。

票数 2
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/156912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档