3

反正有没有用 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));

谢谢,杰弗里

4

2 回答 2

4

我使用Abbot在我的应用程序中模拟 MouseEvent。它最近由 Oracle 员工针对 Java 6、JUnit 4 等进行了更新。

于 2012-02-03T18:11:59.760 回答
3

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

于 2012-02-03T18:09:51.933 回答