2010-04-25 12 views
5

Czy istnieje sposób wysyłką MouseEvent, tak samo jak dispatchKeyEvent pomocą KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(listener); , co dzieje się przed imprezą przeniesione do komponentu?Wysłanie MouseEvent

wiem, że mam 2 opcje

1) Dodać zdarzenie myszy do wszystkich compoenents rekurencyjnych

2) używać przezroczysty glasspane

wsparcia

Czy Java to, czy muszę użyć jednego powyższych opcji?

dziękuję

+0

proszę o pomoc :-) – shay

+0

Czy klasa java.awt.Robot może Ci pomóc? –

+0

Nie przyszedłem o tym myśleć, to jest zupełnie fajnie, pomyśl o tym :) Pozwól mi sprawdzić :) – shay

Odpowiedz

2

co w końcu nie było

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

dziękuję alll

8

Czy próbowałeś 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); 
1

mam w końcu wykorzystane to:

 a.dispatchEvent(new MouseEvent(a, 
           MouseEvent.MOUSE_MOVED, 
           System.currentTimeMillis() + 10, 
           MouseEvent.NOBUTTON, 
           x,y, 
           0, 
           false)); 

Niektóre wyjaśnienia dla parametrów: X X Mysz przesuń Y Mysz Y, aby przenieść A jest składnikiem
Mam nadzieję, że byłem pomocny dla osób z tym samym pytaniem.

Powiązane problemy