Класс MouseWheelEvent
- Все реализованные интерфейсы:
Serializable
public class MouseWheelEvent extends MouseEvent
Мышь с колесом — это мышь, у которой колесо вместо средней кнопки. Это колесо можно вращать к себе или от себя. Колеса мыши чаще всего используются для прокрутки, хотя возможны и другие применения.
Объект MouseWheelEvent передается каждому объекту, который зарегистрирован для получения "интересных" событий мыши с помощью метода компонента addMouseWheelListener. Каждый такой объект-слушатель получает объект, содержащий событие мыши.
Из-за особой связи колеса мыши с компонентами прокрутки, MouseWheelEvents доставляются немного иначе, чем другие MouseEvents. Это связано с тем, что, в то время как другие MouseEvents обычно вызывают изменение в компоненте, расположенном непосредственно под курсором мыши (например, при нажатии кнопки), MouseWheelEvents часто влияют на области, отстоящие от курсора мыши (движение колеса над компонентом внутри ScrollPane должно прокрутить одну из полос прокрутки на ScrollPane).
MouseWheelEvents начинают передаваться с компонента под курсором мыши. Если MouseWheelEvents не включены для компонента, событие передается первому контейнер-предка с включенными 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() |
Возвращает количество "нажатий" вращения колеса мыши, как double. |
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- значение времени возникновения события -
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- значение времени возникновения события -
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- значение времени возникновения события -
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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/event/MouseWheelEvent.html