Обработка событий от мыши Java

Обработка событий от мыши JavaЧтобы обработать события от мыши, следует реализовать интерфейсы MouseListener и MouseMotionListener. Можно было бы также реализовать ин­терфейс MouseWheelListener, но мы не станем здесь этого делать.

Весь процесс обработки событий от мыши демонстрируется в приведенном ниже примере апле­та. В строке состояния окна этого аплета выводятся текущие координаты мыши.

Всякий раз, когда нажимается кнопка мыши, на месте курсора мыши появляется слово «Down»(Нажато). И всякий раз, когда кнопка мыши отпускается, слово «Up» (Отпущено) . А если производится щелчок кнопкой мыши, то в левом верх­нем углу области отображения аплета выводится сообщение «Mouseclicked» (Произведен щелчок кнопкой мыши ).

Когда же курсор мыши наводится на окно аплета или отводится от него, то в ле­вом верхнем углу области отображения аплета также выводится соответствующее сообщение. При перетаскивании курсора мыши выводится символ *, сопровожда­ющий курсор мыши.

Обратите внимание на то, что в двух переменных, mouseX и mouseY, сохраняются координаты местоположения курсора мыши, когда проис­ходят события нажатия и отпускания кнопки мыши, а также события перетаски­вания. Эти координаты затем используются методом paint() для вывода соответ­ствующего сообщения в той точке, где возникает событие.

Собственно весь код нашей программы:

Пример выполнения данного аплета приведен на рис. 1.

 Обработка событий от мыши JavaРис. 1. Пример выполнения аплета, в котором обрабатываются события мыши

Рассмотрим данный пример аплета более подробно. В частности, класс MouseEvents расширяет класс Applet и реализует интерфейсы MouseListener и MouseMotionListener.

Оба эти интерфейса содержат методы, принимающие и обрабатывающие различные типы событий от мыши. Обратите внимание на то, что аплет одновременно является источником и приемником этих событий. И это вполне допустимо, поскольку класс Component, предоставляющий методы addMouseListener() и addMouseMotionListener(), служит суперклассом для клас­са Аррlеt. Вообще, использование одного и того же объекта в качестве источника и приемника событий характерно для аплетов.

Заказать дешевую рекламу с видимым результатом в Одноклассниках теперь стало еще проще. Вам больше не придется выделять огромный бюджет на очередную кампанию, настраивать ее и тестировать — Вы получаете все, что нужно для развития в соцсети в одном пакетном предложении по очень низкой цене. Здесь доступны и подписчики, и друзья, и классы, и прочие ресурсы — торопитесь, пока на сайте действуют скидки.

В методе init() аплет регистрирует себя в качестве приемника событий от мыши. Это делается с помощью методов addMouseListener() и addMouseMotionListener(), которые, как упоминалось ранее, являются членами класса Component. Ниже приведены общие формы этих методов:

Здесь параметр ml обозначает ссылку на объект, принимающий события от мыши, а параметр mml ссылку на объект, принимающий события перемеще­ния мыши. В рассматриваемом здесь примере аплета оба эти метода принимают в качестве параметра один и тот же объект.

Далее в данном примере аплета реализуются все методы, определенные в интер­фейсах MouseListener и MouseMotionListener, т.е. обработчики разных событий от мыши. Каждый из них обрабатывает свое событие, а затем возвращает управление.