Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Dispatch MouseEvent

Is there a way to dispatch MouseEvent, same as dispatchKeyEvent using the KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(listener); that happens before the event transferred to the component ?

I know I have 2 options

1) add mouse event to all compoenents recursive

2) use a transparent glasspane

Does Java support this , or do I have to use the one of the options above?

thank you

like image 298
shay Avatar asked Apr 25 '10 13:04

shay


2 Answers

Have you tried java.awt.Component.dispatchEvent(AWTEvent)?

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

JButton jb = new JButton("Press!");
MouseEvent me = new MouseEvent(jb, // which
    MouseEvent.MOUSE_CLICKED, // what
    System.currentTimeMillis(), // when
    0, // no modifiers
    10, 10, // where: at (10, 10}
    1, // only 1 click 
    false); // not a popup trigger

jb.dispatchEvent(me);
like image 166
shemnon Avatar answered Sep 28 '22 01:09

shemnon


what i finally did was

long  eventMask = AWTEvent.MOUSE_MOTION_EVENT_MASK
         + AWTEvent.MOUSE_EVENT_MASK;
Toolkit.getDefaultToolkit().addAWTEventListener(
         new MouseListener(){....}, eventMask);

thank you alll

like image 39
shay Avatar answered Sep 28 '22 00:09

shay