首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >派单MouseEvent

派单MouseEvent
EN

Stack Overflow用户
提问于 2010-04-25 21:39:13
回答 3查看 9.9K关注 0票数 6

有没有一种方法可以分派MouseEvent,就像dispatchKeyEvent使用在事件传输到组件之前发生的KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(listener);一样?

我知道我有两个选择

1)将鼠标事件添加到所有组件递归

2)使用透明的glasspane

Java是否支持这一点,或者我必须使用上面的选项之一?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-20 18:38:39

我最终做的是

代码语言:javascript
复制
long  eventMask = AWTEvent.MOUSE_MOTION_EVENT_MASK
         + AWTEvent.MOUSE_EVENT_MASK;
Toolkit.getDefaultToolkit().addAWTEventListener(
         new MouseListener(){....}, eventMask);

感谢所有人

票数 3
EN

Stack Overflow用户

发布于 2010-05-16 10:57:40

你试过java.awt.Component.dispatchEvent(AWTEvent)吗?

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2012-02-08 23:34:16

我终于用到了这个:

代码语言:javascript
复制
        a.dispatchEvent(new MouseEvent(a,
                               MouseEvent.MOUSE_MOVED,
                               System.currentTimeMillis() + 10,
                               MouseEvent.NOBUTTON,
                              x,y,
                               0,
                               false));

参数的一些解释:X鼠标X移动Y鼠标Y移动A是组件

我希望我对有同样问题的人有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2708408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档