Как обнаружить движение мыши при нажатой левой кнопке? - PullRequest
7 голосов
/ 14 декабря 2010

Я бы хотел обнаружить движение мыши, пока нажата левая кнопка.

Я просто создаю приложение для рисования. Я могу обнаружить движение мыши без нажатия любой мыши. Но я хочу обнаружить, когда левая мышь нажата.

Я думаю, что для этого нет слушателя. Итак, что это за идея сделать?

Ответы [ 4 ]

16 голосов
/ 14 декабря 2010
component.addmouseMotionListener(new MouseAdapter() {
    public void mouseDragged(MouseEvent evt) {
       if ( SwingUtilities.isLeftMouseButton(evt)) {
         // do your stuff here
       }
    }
});
6 голосов
/ 14 декабря 2010

в MouseMotionListener есть метод mouseDragged ... проверьте this для более подробной информации ...

2 голосов
/ 14 декабря 2010

В MouseMotionListener вы можете проверить это, используя:

SwingUtilities.isLeftMouseButton(me.getPoint())

, и вы будете прослушивать событие mouseDragged.

0 голосов
/ 14 декабря 2010

Я думаю, что может быть какой-то слушатель перетаскивания мышью, но если нет ...

Захват событий мыши вниз и вверх.В этих событиях установите логическое значение, такое как leftButtonIsDown = true (если нет уже простого способа сделать запрос), а затем в событиях перемещения мыши используйте блок, подобный if (leftButtonIsDown)

...