Отправка MouseEvent

Есть ли способ диспетчеризировать MouseEvent, то же как dispatchKeyEvent использование KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(listener); это происходит, прежде чем событие передало компоненту?

Я знаю, что у меня есть 2 опции

1) добавьте событие от нажатия мыши ко всем compoenents рекурсивный

2) используйте прозрачный glasspane

Java поддерживает это, или я должен использовать ту из опций выше?

спасибо

6
задан Ben 11 December 2011 в 07:41
поделиться

2 ответа

что я в итоге сделал, так это

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

спасибо вам всем

2
ответ дан 9 December 2019 в 20:41
поделиться

Вы пробовали 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);
9
ответ дан 9 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: