首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鼠标按下->拖动->松开。在java中

鼠标按下->拖动->松开。在java中
EN

Stack Overflow用户
提问于 2011-11-18 01:31:36
回答 2查看 8.4K关注 0票数 1

打扰一下:

我只是不知道如何将这些连续的操作联系起来?

按住鼠标,然后拖动,然后松开。如果用户不执行此操作,某些操作将不会发生...

我是否应该添加代码,因为已经按下了来区分这一点?

尽管我在mouse event api中找到了参数,但常量MOUSE_MOVED不起作用,因为Eclipse告诉我它不知道这一点

我不知道怎么回事..。请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2011-11-18 01:39:45

使用MouseInputAdapter子类实现MouseInputListener并处理mousePressed、mouseDragged和mouseReleased事件。

请看此tutorial中的示例。

票数 6
EN

Stack Overflow用户

发布于 2016-12-21 00:23:41

下面是一个封装了拖动检测的简单类:

代码语言:javascript
复制
public abstract static class MouseDragListener {
    java.awt.Component component;
    MouseEvent dragStart;

    public MouseDragListener(java.awt.Component component) {
        super();
        this.component = component;
        component.addMouseMotionListener(new MouseAdapter() {
            public void mouseMoved(MouseEvent e) {

                dragStart = null;
            }

            public void mouseDragged(MouseEvent e) {
                if (dragStart == null)
                    dragStart = e;
            }
        });
        component.addMouseListener(new MouseAdapter() {
            public void mouseReleased(MouseEvent e) {
                if (dragStart != null) {
                    dragReleased(dragStart, e);
                }
            }
        });
    }

然后使用:

代码语言:javascript
复制
new MouseDragListener(center){
    void dragReleased(MouseEvent start,MouseEvent end){
           //  do something ...
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8171621

复制
相关文章

相似问题

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