Класс MouseWheelEvent
- Все реализованные интерфейсы:
Serializable
public class MouseWheelEvent extends MouseEvent
Мышь с колесом — это мышь, у которой колесо расположено вместо средней кнопки. Это колесо можно вращать к себе или от себя. Колесо мыши чаще всего используется для прокрутки, хотя возможны и другие применения.
Объект MouseWheelEvent передаётся каждому MouseWheelListener объекту, который зарегистрирован для получения "интересных" событий мыши с помощью метода компонента addMouseWheelListener. Каждый такой объект-слушатель получает MouseEvent, содержащий событие мыши.
Из-за особой связи колеса мыши с прокручиваемыми компонентами, MouseWheelEvents доставляются несколько иначе, чем другие MouseEvents. Это связано с тем, что, в то время как другие MouseEvents обычно влияют на изменение непосредственно в компоненте, расположенном под курсором мыши (например, при нажатии кнопки), MouseWheelEvents часто оказывают влияние вдали от курсора мыши (перемещение колеса над компонентом внутри ScrollPane должно прокручивать одну из полос прокрутки на ScrollPane).
Доставка MouseWheelEvents начинается с компонента под курсором мыши. Если MouseWheelEvents не включены в компоненте, событие доставляется первому предку Container, у которого MouseWheelEvents включены. Обычно это ScrollPane с включенной прокруткой с помощью колеса. Компонент-источник и координаты x, y будут относиться к конечному пункту назначения события (ScrollPane). Это позволяет устанавливать сложный интерфейс без модификаций в ScrollPane, а все MouseWheelEvents будут доставляться в ScrollPane для прокрутки.
Некоторые компоненты AWT реализованы с использованием нативных виджетов, которые отображают свои полосы прокрутки и обрабатывают свою прокрутку. Конкретные компоненты, для которых это верно, будут различаться в зависимости от платформы. Когда колесо мыши перемещается над одним из этих компонентов, событие передаётся напрямую в нативный виджет, а не распространяется к предкам.
Платформы позволяют настраивать количество прокрутки, которое должно выполняться при перемещении колеса мыши. Две наиболее распространённые настройки — прокрутка на определённое количество "единиц" (обычно строк текста в текстовом компоненте) или целого "блока" (аналогично клавишам Page Up/Page Down). MouseWheelEvent предлагает методы для соответствия настройкам базовой платформы. Эти настройки платформы могут быть изменены пользователем в любое время. MouseWheelEvents отражают последние настройки.
Класс MouseWheelEvent включает методы для получения количества "щелчков" поворота колеса мыши. Метод getWheelRotation() возвращает целое число "щелчков", соответствующее количеству щелчков, на которое было повернуто колесо. Кроме этого метода, класс MouseWheelEvent предоставляет метод getPreciseWheelRotation(), который возвращает двойное число "щелчков" в случае частичного поворота. Метод getPreciseWheelRotation() полезен, если мышь поддерживает колесо с высокой точностью, например, свободно вращающееся колесо без насечек. Приложения могут извлечь выгоду, используя этот метод для обработки событий колеса мыши более точно, что делает визуальное восприятие плавнее.
- С момента:
- 1.4
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
WHEEL_BLOCK_SCROLL |
Константа, представляющая прокрутку на "блок" (как прокрутка с клавишами Page Up, Page Down) |
static final int |
WHEEL_UNIT_SCROLL |
Константа, представляющая прокрутку на "единицы" (как прокрутка с клавишами со стрелками) |
Поля, объявленные в классе java.awt.event.MouseEvent
BUTTON1, BUTTON2, BUTTON3, MOUSE_CLICKED, MOUSE_DRAGGED, MOUSE_ENTERED, MOUSE_EXITED, MOUSE_FIRST, MOUSE_LAST, MOUSE_MOVED, MOUSE_PRESSED, MOUSE_RELEASED, MOUSE_WHEEL, NOBUTTON
Поля, объявленные в классе java.awt.event.InputEvent
ALT_DOWN_MASK, ALT_GRAPH_DOWN_MASK, ALT_GRAPH_MASK, ALT_MASK, BUTTON1_DOWN_MASK, BUTTON1_MASK, BUTTON2_DOWN_MASK, BUTTON2_MASK, BUTTON3_DOWN_MASK, BUTTON3_MASK, CTRL_DOWN_MASK, CTRL_MASK, META_DOWN_MASK, META_MASK, SHIFT_DOWN_MASK, SHIFT_MASK
Поля, объявленные в классе java.awt.event.ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
Поля, объявленные в классе java.awt.AWTEvent
ACTION_EVENT_MASK, ADJUSTMENT_EVENT_MASK, COMPONENT_EVENT_MASK, consumed, CONTAINER_EVENT_MASK, FOCUS_EVENT_MASK, HIERARCHY_BOUNDS_EVENT_MASK, HIERARCHY_EVENT_MASK, id, INPUT_METHOD_EVENT_MASK, INVOCATION_EVENT_MASK, ITEM_EVENT_MASK, KEY_EVENT_MASK, MOUSE_EVENT_MASK, MOUSE_MOTION_EVENT_MASK, MOUSE_WHEEL_EVENT_MASK, PAINT_EVENT_MASK, RESERVED_ID_MAX, TEXT_EVENT_MASK, WINDOW_EVENT_MASK, WINDOW_FOCUS_EVENT_MASK, WINDOW_STATE_EVENT_MASK
Поля, объявленные в классе java.util.EventObject
source
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MouseWheelEvent |
Создаёт объект MouseWheelEvent со специфицированным компонентом-источником, типом, модификаторами, координатами, типом прокрутки, количеством прокрутки и поворотом колеса. |
MouseWheelEvent |
Создаёт объект MouseWheelEvent со специфицированным компонентом-источником, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, количеством прокрутки и поворотом колеса. |
MouseWheelEvent |
Создаёт объект MouseWheelEvent со специфицированным компонентом-источником, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, количеством прокрутки и поворотом колеса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
double |
getPreciseWheelRotation() |
Возвращает количество "щелчков" поворота колеса мыши, как число с плавающей точкой. |
int |
getScrollAmount() |
Возвращает количество единиц, которые должны быть прокручены за один щелчок вращения колеса мыши. |
int |
getScrollType() |
Возвращает тип прокрутки, который должен быть выполнен в ответ на это событие. |
int |
getUnitsToScroll() |
Это удобный метод для помощи в реализации общего случая MouseWheelListener — прокрутка ScrollPane или JScrollPane на величину, соответствующую настройкам платформы. |
int |
getWheelRotation() |
Возвращает количество "щелчков" поворота колеса мыши, как целое число. |
String |
paramString() |
Возвращает строку-параметр, идентифицирующую это событие. |
Методы, объявленные в классе java.awt.event.MouseEvent
getButton, getClickCount, getLocationOnScreen, getMouseModifiersText, getPoint, getX, getXOnScreen, getY, getYOnScreen, isPopupTrigger, translatePoint
Методы, объявленные в классе java.awt.event.InputEvent
consume, getMaskForButton, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
Методы, объявленные в классе java.awt.event.ComponentEvent
getComponent
Методы, объявленные в классе java.util.EventObject
getSource
Подробное описание полей
WHEEL_UNIT_SCROLL
@Native public static final int WHEEL_UNIT_SCROLL
- См. также:
WHEEL_BLOCK_SCROLL
@Native public static final int WHEEL_BLOCK_SCROLL
- См. также:
Подробное описание конструкторов
MouseWheelEvent
public MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
MouseWheelEvent со указанным исходным компонентом, типом, модификаторами, координатами, типом прокрутки, количеством прокрутки и вращением колесика мыши. Абсолютные координаты xAbs и yAbs устанавливаются по местоположению источника на экране плюс относительные координаты x и y. xAbs и yAbs устанавливаются в ноль, если источник не отображается.
Обратите внимание, что передача недопустимого id приводит к неопределенному поведению. Этот метод выбрасывает IllegalArgumentException, если source равно null.
- Параметры:
-
source- компонент, который породил событие -
id- целое число, идентифицирующее событие -
when- значение типа long, указывающее время наступления события -
modifiers- клавиши модификаторов, нажатые во время события (Shift, Ctrl, Alt, Meta) -
x- горизонтальная координата x для положения указателя мыши -
y- вертикальная координата y для положения указателя мыши -
clickCount- количество щелчков мыши, связанных с событием -
popupTrigger- логическое значение, true, если это событие является триггером для всплывающего меню -
scrollType- тип прокрутки, который должен произойти в ответ на это событие; допустимые значения —WHEEL_UNIT_SCROLLиWHEEL_BLOCK_SCROLL -
scrollAmount- для scrollTypeWHEEL_UNIT_SCROLL, количество единиц для прокрутки -
wheelRotation- целое число, обозначающее количество "щелчков" вращения колеса мыши - Исключения:
-
IllegalArgumentException- еслиsourceравно null - См. также:
MouseWheelEvent
public MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
MouseWheelEvent со указанным исходным компонентом, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, количеством прокрутки и вращением колесика мыши. Обратите внимание, что передача недопустимого id приводит к неопределенному поведению. Этот метод выбрасывает IllegalArgumentException, если source равно null.
Даже если несовместимые значения относительных и абсолютных координат переданы в конструктор, экземпляр MouseWheelEvent всё равно создаётся и исключение не выбрасывается.
- Параметры:
-
source- компонент, который породил событие -
id- целое число, идентифицирующее событие -
when- значение типа long, указывающее время наступления события -
modifiers- клавиши модификаторов, нажатые во время события (Shift, Ctrl, Alt, Meta) -
x- горизонтальная координата x для положения указателя мыши -
y- вертикальная координата y для положения указателя мыши -
xAbs- абсолютная горизонтальная координата x для положения указателя мыши -
yAbs- абсолютная вертикальная координата y для положения указателя мыши -
clickCount- количество щелчков мыши, связанных с событием -
popupTrigger- логическое значение, true, если это событие является триггером для всплывающего меню -
scrollType- тип прокрутки, который должен произойти в ответ на это событие; допустимые значения —WHEEL_UNIT_SCROLLиWHEEL_BLOCK_SCROLL -
scrollAmount- для scrollTypeWHEEL_UNIT_SCROLL, количество единиц для прокрутки -
wheelRotation- целое число, обозначающее количество "щелчков" вращения колеса мыши - Исключения:
-
IllegalArgumentException- еслиsourceравно null - С:
- 1.6
- См. также:
MouseWheelEvent
public MouseWheelEvent(Component source, int id, long when, int modifiers, int x, int y, int xAbs, int yAbs, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation, double preciseWheelRotation)
MouseWheelEvent со указанным исходным компонентом, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, количеством прокрутки и вращением колесика мыши. Обратите внимание, что передача недопустимого id параметра приводит к неопределенному поведению. Этот метод выбрасывает IllegalArgumentException, если source равно null.
Даже если несовместимые значения для относительных и абсолютных координат переданы в конструктор, экземпляр MouseWheelEvent всё равно создаётся и исключение не выбрасывается.
- Параметры:
-
source- компонент, который породил событие -
id- целое значение, идентифицирующее событие -
when- значение типа long, указывающее время наступления события -
modifiers- клавиши модификаторов, нажатые во время события (Shift, Ctrl, Alt, Meta) -
x- горизонтальнаяxкоордината для положения указателя мыши -
y- вертикальнаяyкоордината для положения указателя мыши -
xAbs- абсолютная горизонтальнаяxкоордината для положения указателя мыши -
yAbs- абсолютная вертикальнаяyкоордината для положения указателя мыши -
clickCount- количество щелчков мыши, связанных с событием -
popupTrigger- логическое значение,trueесли это событие является триггером для всплывающего меню -
scrollType- тип прокрутки, который должен произойти в ответ на это событие; допустимые значения —WHEEL_UNIT_SCROLLиWHEEL_BLOCK_SCROLL -
scrollAmount- для scrollTypeWHEEL_UNIT_SCROLL, количество единиц для прокрутки -
wheelRotation- целое число, обозначающее количество "щелчков" вращения колеса мыши -
preciseWheelRotation- двойное число "щелчков" вращения колеса мыши - Исключения:
-
IllegalArgumentException- еслиsourceравно null - С:
- 1.7
- См. также:
Подробное описание методов
getScrollType
public int getScrollType()
- MouseWheelEvent.WHEEL_UNIT_SCROLL
- MouseWheelEvent.WHEEL_BLOCK_SCROLL
- Возвращает:
- либо MouseWheelEvent.WHEEL_UNIT_SCROLL, либо MouseWheelEvent.WHEEL_BLOCK_SCROLL в зависимости от настроек нативной платформы.
- См. также:
getScrollAmount
public int getScrollAmount()
getScrollType возвращает MouseWheelEvent.WHEEL_UNIT_SCROLL
- Возвращает:
- количество единиц для прокрутки или неопределённое значение, если
getScrollTypeвозвращаетMouseWheelEvent.WHEEL_BLOCK_SCROLL - См. также:
getWheelRotation
public int getWheelRotation()
- Возвращает:
- отрицательные значения, если колесо мыши вращалось вверх/от пользователя, и положительные значения, если колесо мыши вращалось вниз/к пользователю
- См. также:
getPreciseWheelRotation
public double getPreciseWheelRotation()
- Возвращает:
- отрицательные значения, если колесико мыши вращалось вверх или от пользователя, и положительные значения, если колесико мыши вращалось вниз или к пользователю
- С:
- 1.7
- См. также:
getUnitsToScroll
public int getUnitsToScroll()
ScrollPane и JScrollPane уже имеют эту функциональность.) Этот метод возвращает количество единиц прокрутки, когда тип прокрутки MouseWheelEvent.WHEEL_UNIT_SCROLL, и должен вызываться только в том случае, если getScrollType возвращает MouseWheelEvent.WHEEL_UNIT_SCROLL.
Направление прокрутки, количество перемещения колесика и настройки платформы для прокрутки колесика учитываются. Этот метод не и не может учитывать значение приращения единицы Adjustable/Scrollable, так как оно будет различаться среди компонентов прокрутки.
Упрощенный пример того, как этот метод может быть использован в обработчике:
mouseWheelMoved(MouseWheelEvent event) {
ScrollPane sp = getScrollPaneFromSomewhere();
Adjustable adj = sp.getVAdjustable()
if (MouseWheelEvent.getScrollType() == WHEEL_UNIT_SCROLL) {
int totalScrollAmount =
event.getUnitsToScroll() *
adj.getUnitIncrement();
adj.setValue(adj.getValue() + totalScrollAmount);
}
}
- Возвращает:
- количество единиц прокрутки, основанное на направлении и количестве вращения колесика мыши, а также на настройках прокрутки колесика нативной платформы
- См. также:
paramString
public String paramString()
- Переопределяет:
-
paramStringв классеMouseEvent - Возвращает:
- строку, идентифицирующую событие и его атрибуты
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/event/MouseWheelEvent.html