【问题标题】:Save first mouseposition while 'mouseDragged'在“mouseDragged”时保存第一个鼠标位置
【发布时间】:2018-08-29 09:51:40
【问题描述】:

我创建了一个 Java 应用程序来添加/删除并在 JPanel 上显示随机数量的点。可以通过拖放移动点。要撤消最后的操作,我会缓冲这些点。

我的问题:如果一个点将通过“mouseDragged”移动,是否可以在拖动开始时保存第一个鼠标位置?我尝试了以下方法:

public void mouseDragged(MouseEvent e) {
    int x = e.getX();
    int y = e.getY();

    if (!points.isEmpty() && curPointIndex > -1) {
        if (move == false) {
            pointmove = new Point(x,y);
            move = true;
        }
    }
}

方法mouseReleased将变量move改回false。变量pointmove 应该保存第一个点,但它在鼠标拖动时一直在变化。

谁能描述为什么或我可以做些什么不同的事情?

【问题讨论】:

  • 也许你可以使用mousePressed来存储初始点。

标签: java jpanel mouse-position


【解决方案1】:

正如 Arnaud 所说,您可以使用 mousePressed 来存储初始点:

        @Override
        public void mousePressed(MouseEvent e)
        {
            Point initialPoint = e.getPoint();
        }

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多