Spec-Zone .ru
спецификации, руководства, описания, API
|
События от нажатия мыши уведомляют, когда пользователь использует мышь (или подобное устройство ввода данных), чтобы взаимодействовать с компонентом. События от нажатия мыши происходят, когда курсор вводит или выходит из экранной области компонента и когда пользователь нажимает или отпускает одну из кнопок мыши.
Отслеживание движения курсора включает значительно больше системных издержек чем отслеживание других событий от нажатия мыши. Именно поэтому события движения мыши разделяются на тип слушателя Движения Мыши (см., Как Записать Слушателю Движения Мыши).
Чтобы отследить события колеса мыши, можно зарегистрировать слушателя колеса мыши. См., Как Записать Слушателю Колеса Мыши для получения дополнительной информации.
Если приложение требует обнаружения обоих событий от нажатия мыши и событий движения мыши, используйте MouseInputAdapter
class. Этот class реализует MouseInputListener
MouseListener
и MouseMotionListener
интерфейсы. Однако, MouseInputListener
интерфейс не реализует MouseWheelListener
интерфейс.
Альтернативно, используйте соответствующий AWT MouseAdapter
MouseListener
, MouseMotionListener
, и MouseWheelListener
интерфейсы.
Следующий пример показывает слушателю мыши. Наверху окна пустая область (реализованный названным class BlankArea
). Слушатель мыши прислушивается к событиям оба на BlankArea
и на его контейнере, экземпляре MouseEventDemo
. Каждый раз, когда событие от нажатия мыши происходит, дескриптивное сообщение выводится на экран под пустой областью. Перемещая курсор сверху пустой области и иногда нажимая кнопки мыши, можно запустить события от нажатия мыши.
Можно найти код демонстрационного примера в MouseEventDemo.java
и BlankArea.java
. Вот код обработки события от нажатия мыши демонстрационного примера:
public class MouseEventDemo ... implements MouseListener { //where initialization occurs: //Register for mouse events on blankArea and the panel. blankArea.addMouseListener(this); addMouseListener(this); ... public void mousePressed(MouseEvent e) { saySomething("Mouse pressed; # of clicks: " + e.getClickCount(), e); } public void mouseReleased(MouseEvent e) { saySomething("Mouse released; # of clicks: " + e.getClickCount(), e); } public void mouseEntered(MouseEvent e) { saySomething("Mouse entered", e); } public void mouseExited(MouseEvent e) { saySomething("Mouse exited", e); } public void mouseClicked(MouseEvent e) { saySomething("Mouse clicked (# of clicks: " + e.getClickCount() + ")", e); } void saySomething(String eventDescription, MouseEvent e) { textArea.append(eventDescription + " detected on " + e.getComponent().getClass().getName() + "." + newline); } }
Метод | Цель |
---|---|
mouseClicked (MouseEvent) | Вызванный сразу после того, как пользователь щелкает по слушаемому компонент. |
|
Вызванный сразу после того, как курсор вводит границы слушаемого компонент. |
|
Вызванный сразу после того, как курсор выходит из границ слушаемого компонент. |
|
Вызванный сразу после того, как пользователь нажимает кнопку мыши, в то время как курсор является по слушаемому компонентом. |
|
Вызванный сразу после того, как пользователь отпускает кнопку мыши после щелчка мышью по слушаемому компонент. |
MouseAdapter
MouseInputAdapter
MouseListener
и MouseMotionListener
.
Метод | Цель |
---|---|
|
Возвращает число быстрых, последовательных щелчков, которые пользователь сделал (включая это событие). Например, возвраты 2 для двойного щелчка. |
|
Возвратитесь (x, y) позиция, в которой событие имело место относительно компонента, который запустил событие. |
|
Возвратите абсолют (x, y) позиция события. Эти координаты относительно виртуальной системы координат для многоэкранной среды. Иначе, эти координаты относительно системы координат, связанной с Графической Конфигурацией Компонента. |
|
Возвраты, у какой кнопки мыши, если таковые вообще имеются, есть измененное состояние. Одна из следующих констант возвращается: NOBUTTON , BUTTON1 , BUTTON2 , или BUTTON3 . Представленный в выпуске 1.4. |
|
Возвраты true если событие от нажатия мыши должно заставить раскрывающееся меню появляться. Поскольку раскрывающиеся триггеры являются зависимой платформой, если Ваша программа использует раскрывающиеся меню, следует вызвать isPopupTrigger для всех нажатых мышью и выпущенных от мыши событий, запущенных компонентами, по которым может появиться раскрывающееся. См. Перевод в рабочее состояние Раскрывающегося Меню для получения дополнительной информации о раскрывающихся меню. |
|
Возвраты a String описывая модифицирующие клавиши и кнопки мыши, которые были активными во время события, такими как "Сдвиг", или "Ctrl+Shift". Эти строки могут быть локализованы, используя awt.properties файл. Представленный в выпуске 1.4. |
MouseEvent
class наследовал много полезных методов от ComponentEvent
AWTEvent
Метод | Цель |
---|---|
(в java.awt.AWTEvent ) |
Возвращает тип события, который определяет определенное действие. Например, идентификатор MouseEvent отражает состояние кнопок мыши для каждого события от нажатия мыши. Следующие состояния могли быть определены идентификатором MouseEvent: MouseEvent.MOUSE_PRESSED , MouseEvent.MOUSE_RELEASED , и MouseEvent.MOUSE_CLICKED . |
(в ComponentEvent ) |
Возвращает компонент, который запустил событие. Можно использовать этот метод вместо getSource метод. |
|
Возвращает метку времени того, когда это событие имело место. Чем выше метка времени, тем позже событие имело место. |
|
Возвратите состояние отдельных модифицирующих клавиш в то время, когда событие было запущено. |
|
Возвращает состояние всех модифицирующих клавиш и кнопок мыши, когда событие было запущено. Можно использовать этот метод, чтобы определить, какая кнопка мыши была нажата (или отпущена), когда событие от нажатия мыши было запущено. InputEvent class определяет эти константы для использования с getModifiers метод: ALT_MASK , BUTTON1_MASK , BUTTON2_MASK , BUTTON3_MASK , CTRL_MASK , META_MASK , и SHIFT_MASK . Например, следующее выражение является истиной, если правильная кнопка была нажата: (mouseEvent.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK |
|
Возвращает расширенную маску модификатора для этого события. Расширенные модификаторы представляют состояние кнопки мыши и всех модальных ключей, таких как ALT, CTRL, МЕТА, сразу после того, как событие имело место. Можно проверить состояние модификаторов, используя одну из следующих предопределенных битовых масок: SHIFT_DOWN_MASK , CTRL_DOWN_MASK , META_DOWN_MASK , ALT_DOWN_MASK , BUTTON1_DOWN_MASK , BUTTON2_DOWN_MASK , BUTTON3_DOWN_MASK , или ALT_GRAPH_DOWN_MASK . Например, чтобы проверить, что кнопка 1 снижается, но что кнопки 2 и 3 возросли, Вы использовали бы следующий фрагмент кода: if (event.getModifiersEx() & (BUTTON1_DOWN_MASK | BUTTON2_DOWN_MASK | BUTTON3_DOWN_MASK) == BUTTON1_DOWN_MASK) { ... } |
|
Возвращает строку, описывающую расширенные модифицирующие клавиши и кнопки мыши, такие как "Сдвиг", "Button1", или "Ctrl+Shift". Эти строки могут быть локализованы, изменяя awt.properties файл. Представленный в выпуске 1.4. |
MouseInfo
Метод | Цель |
---|---|
|
Возвраты a PointerInfo экземпляр, который представляет текущее расположение указателя мыши. |
|
Возвращает число кнопок на мыши или -1 , если система не поддерживает мышь. |
Следующая таблица приводит примеры та мышь использования слушатели.
Пример | Где Описано | Примечания |
---|---|---|
MouseEventDemo |
Этот раздел | Отчеты все события от нажатия мыши, которые происходят в пределах глухой панели, чтобы демонстрировать обстоятельства, при которых запускаются события от нажатия мыши. |
GlassPaneDemo |
|
Использует подкласс MouseInputAdapter слушать события от нажатия мыши и события движения мыши на стеклянной области корневой области. Повторно диспетчеризирует события базовым компонентам. |
TableSortDemo |
Как Использовать Таблицы | Слушает события от нажатия мыши на табличном заголовке. Данные видов в выбранном столбце. |
PopupMenuDemo |
Как Использовать Меню | Выводит на экран раскрывающееся меню в ответ на щелчки мышью. |
TrackFocusDemo |
Как Использовать Подсистему Фокуса | Пользовательский компонент, Picture , реализует слушателя мыши, который запрашивает фокус, когда пользователь щелкает по компоненту. |