Как программно запустить MouseEvent для MouseListener с Java? - PullRequest
6 голосов
/ 27 июля 2011

У меня есть JTree с пользовательской настройкой MouseListener (для отображения всплывающих окон и т. Д.).Мне нужно выстрелить MouseEvent, который будет пойман MouseListener.Как мне это сделать программно?

Ответы [ 2 ]

18 голосов
/ 27 июля 2011

Вы можете создать свой собственный MouseEvent, пройти через всех слушателей и сделать вызов.

Например:

MouseEvent me = new MouseEvent(tree, 0, 0, 0, 100, 100, 1, false);
for(MouseListener ml: tree.getMouseListeners()){
    ml.mousePressed(me);
}
3 голосов
/ 27 июля 2011

Класс Robot может быть тем, что вы ищете.

Этот класс используется для генерации собственных событий системного ввода для целей автоматизации тестирования, демонстраций, запускаемых самостоятельно, и других приложений, где необходимо управление мышью и клавиатурой. Основная цель Robot - облегчить автоматизированное тестирование реализаций платформы Java.

...