好的,
我有一个JFrame,它使用类加载器将Applet加载到JPanel上,并添加到我的JFrame中。
java Applet是一个游戏,我试图为其创建一个“bot”。我希望能够最小化我的JFrame并允许“bot”继续运行。这个机器人只会点击加载的Applet中的x,y坐标。
经过研究后,似乎我想通过AWT事件Dispatch将鼠标事件发送到我的JFrame上。然而,这似乎不起作用。
我认为我要向错误的组件发送事件,或者误解了调度mouseEvents实际上是如何工作的。
我很难过,我希望能提出任何建议。
谢谢,-Tony
MouseEvent me = new MouseEvent(getContentPane(), // which
MouseEvent.MOUSE_CLICKED,
System.currentTimeMillis(),
0,
50, 50,
1,
false);
getContentPane().dispatchEvent(me);
更新:我的事件实际上已经被调度,而不是被加载到JFrame中的applet。为什么Applet无法识别点击次数?也许是在applet后面点击了?
解决:我需要做的是触发MOUSE_PRESSED然后触发MOUSE_RELEASED事件。只是触发MOUSE_CLICKED并没有真正做我想要的。我觉得很愚蠢,我花了很多时间才弄明白。
答案 0 :(得分:0)
我认为你正在寻找java Robot类,具体来说:
Robot = new Robot();
然后使用方法mouseMove()例如
Robot.mouseMove(x,y);
然后使用mousePress / Release方法模拟点击。
答案 1 :(得分:0)
我需要做的是触发MOUSE_PRESSED然后触发MOUSE_RELEASED事件。只是触发MOUSE_CLICKED并没有真正做我想要的。我觉得很愚蠢,我花了很多时间才弄明白。