问题
I have a JTree
with a custom associated MouseListener
(for showing popup etc.). I need to fire a MouseEvent
that will be caught by the MouseListener
. How should I do that programmatically?
回答1:
You could create your own MouseEvent and loop through all the listeners and make the call.
For example:
MouseEvent me = new MouseEvent(tree, 0, 0, 0, 100, 100, 1, false);
for(MouseListener ml: tree.getMouseListeners()){
ml.mousePressed(me);
}
回答2:
The Robot class might be what you're looking for.
This class is used to generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed. The primary purpose of Robot is to facilitate automated testing of Java platform implementations.
来源:https://stackoverflow.com/questions/6842960/how-to-programmatically-fire-a-mouseevent-to-a-mouselistener-with-java