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

michelemarcon picture michelemarcon · Jul 27, 2011 · Viewed 15.3k times · Source

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?

Answer

jzd picture jzd · Jul 27, 2011

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