Сохранить первую позицию мыши, пока MouseDragged
Я создал 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
следует сохранить первую точку, но она все время меняется, пока мышь перетаскивают.
Может ли кто-нибудь описать, почему или что я могу сделать по-другому?
1 ответ
Как упоминал Арно, вы можете использовать mousePressed для сохранения начальной точки:
@Override
public void mousePressed(MouseEvent e)
{
Point initialPoint = e.getPoint();
}