提前致谢。
[编辑 - 目的] 我想创建一个模拟用户以后与系统交互的应用程序。例如,用户使用鼠标并点击和写入,我的应用程序将在2小时内模仿。当然我需要一个系统挂钩的外部事件,但我想避免os依赖的代码,所以我基本上捕获屏幕,把它带到我的应用程序,例如用户点击捕获的图片中的图标,然后进行来生活,我将坐标转换为真实的图标并单击它(使用机器人),这样我就可以在我自己的应用程序中捕获用户的事件。问题发生在用户点击主菜单或右键单击时(他在我的应用程序中执行此操作,我的应用程序对系统执行此操作,因此我的应用程序介于其间)并且当用户尝试时,真正的主菜单将失去焦点点击其中一个项目。
抱歉我的英语。答案 0 :(得分:1)
我仍然不确定我是否按照你要做的去做。但是当你点击它时应用程序获得焦点的概念是GUI的基础,我怀疑相当难以解决。
我刚刚发现了这个:
可聚焦Windows
为了支持调色板窗口和输入方法,客户端代码可以防止Window成为焦点窗口。通过传递性,这可以防止Window或其任何后代成为焦点所有者。不可聚焦的Windows可能仍然拥有可聚焦的Windows。默认情况下,每个Frame和Dialog都是可聚焦的。默认情况下,每个不是框架或对话框的窗口,但其最近的拥有框架或对话框在屏幕上显示,并且在其焦点遍历循环中至少有一个组件。要使窗口不可聚焦,请使用Window.setFocusableWindowState(false)。
在这个doucment http://java.sun.com/j2se/1.5.0/docs/api/java/awt/doc-files/FocusSpec.html
中听起来它可能会做你想要的。