Генерировать событие mousemove с dispatchevent? - PullRequest
3 голосов
/ 03 февраля 2012

Есть ли возможность выполнить событие mousemove с помощью java.awt.Component.dispatchEvent (AWTEvent)?

.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 ]

4 голосов
/ 03 февраля 2012

Я использую Abbot для эмуляции MouseEvent в моем приложении.Недавно он был обновлен сотрудником Oracle для Java 6, JUnit 4 и т. Д.

3 голосов
/ 03 февраля 2012

Я не знаю способа сделать это так, как вы пытаетесь, поскольку MouseEvent (насколько я понимаю) предназначен для отправки сообщений мыши компонентам, а не операционной системе. Обычно я использовал класс Robot или JNA , чтобы фактически перемещать курсор мыши на экране.

...