有没有办法调度MouseEvent
,就像dispatchKeyEvent
使用
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(listener);
在事件转移到组件之前发生的那样?
我知道我有 2 个选择
1)将鼠标事件添加到所有递归组件
2)使用透明玻璃板
Java 是否支持这一点,还是我必须使用上述选项之一?
谢谢你
有没有办法调度MouseEvent
,就像dispatchKeyEvent
使用
KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(listener);
在事件转移到组件之前发生的那样?
我知道我有 2 个选择
1)将鼠标事件添加到所有递归组件
2)使用透明玻璃板
Java 是否支持这一点,还是我必须使用上述选项之一?
谢谢你
你试过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);
我最后做的是
long eventMask = AWTEvent.MOUSE_MOTION_EVENT_MASK
+ AWTEvent.MOUSE_EVENT_MASK;
Toolkit.getDefaultToolkit().addAWTEventListener(
new MouseListener(){....}, eventMask);
谢谢大家
我终于用了这个:
a.dispatchEvent(new MouseEvent(a,
MouseEvent.MOUSE_MOVED,
System.currentTimeMillis() + 10,
MouseEvent.NOBUTTON,
x,y,
0,
false));
对参数的一些解释: X 鼠标 X 移动 Y 鼠标 Y 移动 A 是
我希望我对有同样问题的人有所帮助的组件。