Сохранить первую позицию мыши, пока MouseDragged - PullRequest
0 голосов
/ 29 августа 2018

Я создал 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 Ответ

0 голосов
/ 29 августа 2018

Как упоминал Арно, вы можете использовать mousePressed для сохранения начальной точки:

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