Работаем с мышью

Работа с мышкой происходит на основе модели делегирования событий. Дело тут происходит приблизительно так: есть некоторый источник событий - например, мышка. Этот источник генерирует определенные события. Те классы, которые должны обрабатывать события, должны в обязательном порядке реализовывать определенные интерфейсы именно для этих событий. Т. е. интерфейсы и события (в том числе и мышиные) однозначно соответствуют друг другу.

Когда происходит некоторое событие (например, щелчок мышкой или ее движение), то управление передается методу класса, в котором реализован интерфейс именно для события.

Для использования событий в некотором классе мы должны использовать пакет java.awt.event, т. е. мы должны включить в текст нашей программы следующую строку:

import java.awt.event.*;

События в библиотеке AWT классифицированы. Они представляют из себя иерархию классов. Во главе этой иерархии стоит класс EventObject. Когда генерируется некоторое событие, то фактически создается экземпляр определенного класса из этой иерархии. Этот экземпляр хранит конкретные параметры произошедшего события - например, для мышки это могут быть ее координаты. Созданный экземпляр класса события передается в качестве параметра в метод класса, который реализует интерфейс, определенный для нашего события.