首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java中如何在鼠标按键时监听鼠标移动事件

问在Java中如何在鼠标按键时监听鼠标移动事件
EN

Stack Overflow用户
提问于 2012-11-03 07:50:36
回答 3查看 2.6K关注 0票数 0

我在程序中遇到了鼠标事件的问题。我正试着用画布编写一个绘图程序。

如果用户单击鼠标左键并移动鼠标,则应进行绘制。因此,我定义了一个带有boolean allow_draw的类Drawer,并添加了一个方法draw。

在画布中使用mousemoved事件调用draw,使用mousepressed和released将allow_draw设置为true和false。

但是,当我按下鼠标按键时,mousemoved不会触发...

我的问题是:当鼠标按钮被按下时,我如何监听鼠标的移动。

希望你知道我在找什么:)

EN

回答 3

Stack Overflow用户

发布于 2012-11-03 07:55:26

你能把你的源代码贴出来吗?请尝试添加MouseMotionListener。这是我正在做的一个项目的例子。

代码语言:javascript
复制
addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {

        public void mouseDragged(java.awt.event.MouseEvent evt) {
            formMouseDragged(evt);
        }
        public void mouseMoved(java.awt.event.MouseEvent evt) {
            formMouseMoved(evt);
        }
    });`
票数 2
EN

Stack Overflow用户

发布于 2012-11-03 08:17:11

你应该考虑一下,

  • 使用MouseListener和MouseMotionListener的组合,它可以方便地组合在MouseAdapter类中。
  • 在mousePressed发生时打开绘制。
  • 如果绘制处于打开状态,则关闭mouseReleased发生时
  • 在mouseDragged内绘制(使用if块)。
  • 使用addMouseListener(...)方法和<代码>D11方法将MouseAdapter对象两次添加到组件中。<代码>H212<代码>F213
票数 1
EN

Stack Overflow用户

发布于 2012-11-03 07:55:49

按下按钮的鼠标移动事件将是拖动事件。只要听一听'MouseListener#mouseDragged',它就是你要找的。

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

https://stackoverflow.com/questions/13204596

复制
相关文章

相似问题

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