michelemarcon
michelemarcon

Reputation: 24737

How to programmatically fire a MouseEvent to a MouseListener with Java?

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?

Upvotes: 7

Views: 17003

Answers (2)

jzd
jzd

Reputation: 23629

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);
}

Upvotes: 19

Edward Dale
Edward Dale

Reputation: 30133

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.

Upvotes: 3

Related Questions