gpt4 book ai didi

java - 保存第一个鼠标位置 while 'mouseDragged'

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:08 28 4
gpt4 key购买 nike

我创建了一个 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应该保存第一个点,但当鼠标拖动时它会一直变化。

有人可以描述一下为什么或者我可以采取哪些不同的做法吗?

最佳答案

正如 Arnaud 提到的,您可以使用 mousePressed 来存储初始点:

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

关于java - 保存第一个鼠标位置 while 'mouseDragged',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52074496/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com