Класс MouseWheelEvent
- Все реализуемые интерфейсы:
Serializable
public class MouseWheelEvent extends MouseEvent
Мышь с колесиком — это мышь, у которой вместо средней кнопки имеется колесико. Это колесико можно вращать от себя или к себе. Чаще всего колесики мыши используются для прокрутки, хотя возможны и другие варианты использования.
Объект MouseWheelEvent передается каждому объекту MouseWheelListener, зарегистрированному для получения «интересующих» событий мыши с помощью метода addMouseWheelListener компонента. Каждый такой объект-слушатель получает объект MouseEvent, содержащий событие мыши.
Из-за особой связи колесика мыши с прокруткой компонентов события MouseWheelEvent доставляются несколько иначе, чем другие события MouseEvent. Это связано с тем, что другие события MouseEvent обычно влияют непосредственно на компонент под курсором мыши (например, при нажатии кнопки), тогда как события MouseWheelEvent часто влияют на объекты, расположенные не под курсором мыши (вращение колесика над компонентом внутри ScrollPane должно прокручивать одну из полос прокрутки ScrollPane).
Доставка событий MouseWheelEvent начинается с компонента под курсором мыши. Если для компонента не включена обработка событий MouseWheelEvent, событие доставляется первому родительскому контейнеру, для которого обработка таких событий включена. Обычно это ScrollPane с включенной прокруткой колесиком. Исходный компонент и координаты x,y будут относиться к конечному получателю события (ScrollPane). Это позволяет без изменений помещать сложный графический интерфейс в ScrollPane и направлять все события MouseWheelEvent в ScrollPane для прокрутки.
Некоторые компоненты AWT реализованы с использованием собственных виджетов, которые отображают собственные полосы прокрутки и самостоятельно выполняют прокрутку. Конкретные компоненты, для которых это справедливо, могут различаться в зависимости от платформы. Когда колесико мыши вращают над одним из таких компонентов, событие передается непосредственно собственному виджету и не распространяется на родительские компоненты.
Платформы позволяют настроить величину прокрутки при вращении колесика мыши. Два наиболее распространенных параметра — прокрутка на определенное число «единиц» (обычно строк текста в текстовом компоненте) или на целый «блок» (аналогично клавишам Page Up и Page Down). Класс MouseWheelEvent предоставляет методы для учета настроек базовой платформы. Пользователь может в любой момент изменить эти настройки. События MouseWheelEvent отражают самые актуальные настройки.
Класс MouseWheelEvent содержит методы для получения числа «щелчков» колесика мыши. Метод getWheelRotation() возвращает целое число «щелчков», соответствующее числу делений, на которое было повернуто колесико. Помимо этого метода, класс MouseWheelEvent предоставляет метод getPreciseWheelRotation(), возвращающий дробное число «щелчков» в случае неполного поворота. Метод getPreciseWheelRotation() полезен, если мышь поддерживает колесико высокого разрешения, например свободно вращающееся колесико без делений. Приложения могут использовать этот метод для более точной обработки событий колесика мыши, обеспечивая тем самым более плавное визуальное восприятие.
- Начиная с:
- 1.4
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
WHEEL_BLOCK_SCROLL |
Константа, обозначающая прокрутку на «блок» (например, с помощью клавиш Page Up и Page Down) |
static final int |
WHEEL_UNIT_SCROLL |
Константа, обозначающая прокрутку на «единицы» (например, с помощью клавиш со стрелками) |
Поля, объявленные в классе 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
Поля, объявленные в классе 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
Поля, объявленные в классе ComponentEvent
COMPONENT_FIRST, COMPONENT_HIDDEN, COMPONENT_LAST, COMPONENT_MOVED, COMPONENT_RESIZED, COMPONENT_SHOWN
Поля, объявленные в классе 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
Поля, объявленные в классе EventObject
source
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
MouseWheelEvent |
Создает объект MouseWheelEvent с указанными исходным компонентом, типом, модификаторами, координатами, типом прокрутки, величиной прокрутки и поворотом колесика. |
MouseWheelEvent |
Создает объект MouseWheelEvent с указанными исходным компонентом, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, величиной прокрутки и поворотом колесика. |
MouseWheelEvent |
Создает объект MouseWheelEvent с указанными исходным компонентом, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, величиной прокрутки и поворотом колесика. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
double |
getPreciseWheelRotation() |
Возвращает число «щелчков» колесика мыши в виде значения double. |
int |
getScrollAmount() |
Возвращает число единиц, на которое следует прокручивать при каждом щелчке колесика мыши. |
int |
getScrollType() |
Возвращает тип прокрутки, которая должна выполняться в ответ на это событие. |
int |
getUnitsToScroll() |
Это вспомогательный метод, упрощающий реализацию типичного MouseWheelListener: он прокручивает ScrollPane или JScrollPane на величину, соответствующую настройкам платформы. |
int |
getWheelRotation() |
Возвращает число «щелчков» колесика мыши в виде целого числа. |
String |
paramString() |
Возвращает строку параметров, описывающую это событие. |
Методы, объявленные в классе MouseEvent
getButton, getClickCount, getLocationOnScreen, getMouseModifiersText, getPoint, getX, getXOnScreen, getY, getYOnScreen, isPopupTrigger, translatePoint
Методы, объявленные в классе InputEvent
consume, getMaskForButton, getModifiers, getModifiersEx, getModifiersExText, getWhen, isAltDown, isAltGraphDown, isConsumed, isControlDown, isMetaDown, isShiftDown
Методы, объявленные в классе ComponentEvent
getComponent
Методы, объявленные в классе 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—Component, инициировавший событие -
id— целое число, идентифицирующее событие -
when— время возникновения события -
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—Component, инициировавший событие -
id— целое число, идентифицирующее событие -
when— время возникновения события -
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—Component, инициировавший событие -
id— целочисленное значение, идентифицирующее событие -
when— время возникновения события -
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, 2025, 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/25/docs/api/java.desktop/java/awt/event/MouseWheelEvent.html