使用dispatchevent生成mousemove事件?

时间:2012-02-03 16:41:45

标签: java swing mouseevent dispatchevent

有没有用java.awt.Component.dispatchEvent(AWTEvent)做一个mousemove事件?

.dispatchEvent(new MouseEvent(client.a
                           .getComponentAt(1, 1),
                               MouseEvent.MOUSE_MOVED,
                               System.currentTimeMillis(),
                               MouseEvent.NOBUTTON,
                               x,y,
                               1,
                               false));

我现在得到了这个,但它没有执行鼠标移动。 我该怎么办?

编辑: 我试过这样但不起作用:

.dispatchEvent(new MouseEvent(client.a
                           .getComponentAt(1, 1),
                               MouseEvent.MOUSE_MOVED,
                               System.currentTimeMillis(),
                               MouseEvent.NOBUTTON,
                               x,y,
                               0,
                               false));

谢谢, 杰弗里

2 个答案:

答案 0 :(得分:4)

我使用Abbot在我的应用程序中模拟MouseEvent。它最近由Oracle员工为Java 6,JUnit 4等更新。

答案 1 :(得分:3)

我知道没有办法以你尝试的方式执行此操作,因为MouseEvent(据我所知)是用于将鼠标消息发送到组件而不是操作系统。通常我使用Robot类或JNA来实际移动屏幕上的鼠标光标。