Spec-Zone.ru › OpenJDK 25

Класс MouseWheelEvent

java.lang.Object
java.util.EventObject
java.awt.AWTEvent
java.awt.event.ComponentEvent
java.awt.event.InputEvent
java.awt.event.MouseEvent
java.awt.event.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
См. также:
  • MouseWheelListener
  • ScrollPane
  • ScrollPane.setWheelScrollingEnabled(boolean)
  • JScrollPane
  • JScrollPane.setWheelScrollingEnabled(boolean)
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
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(Component source, int id, long when, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int scrollType, int scrollAmount, int wheelRotation)
Создает объект MouseWheelEvent с указанными исходным компонентом, типом, модификаторами, координатами, типом прокрутки, величиной прокрутки и поворотом колесика.
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 с указанными исходным компонентом, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, величиной прокрутки и поворотом колесика.
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 с указанными исходным компонентом, типом, модификаторами, координатами, абсолютными координатами, типом прокрутки, величиной прокрутки и поворотом колесика.

Краткое описание методов

Модификатор и тип Метод Описание
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

Методы, объявленные в классе AWTEvent

getID, setSource, toString

Методы, объявленные в классе EventObject

getSource

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

WHEEL_UNIT_SCROLL

@Native public static final int WHEEL_UNIT_SCROLL
Константа, обозначающая прокрутку на «единицы» (например, прокрутку с помощью клавиш со стрелками)
См. также:
  • getScrollType()
  • Значения константных полей

WHEEL_BLOCK_SCROLL

@Native public static final int WHEEL_BLOCK_SCROLL
Константа, обозначающая прокрутку на «блок» (например, прокрутку с помощью клавиш Page Up и Page Down)
См. также:
  • getScrollType()
  • Значения константных полей

Подробное описание конструкторов

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 — для scrollType WHEEL_UNIT_SCROLL — количество прокручиваемых единиц
wheelRotation — целое число «щелчков», на которое повернулось колёсико мыши
Выбрасывает:
IllegalArgumentException — если source равно null
См. также:
  • MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
  • MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)

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 — для scrollType WHEEL_UNIT_SCROLL — количество прокручиваемых единиц
wheelRotation — целое число «щелчков», на которое повернулось колёсико мыши
Выбрасывает:
IllegalArgumentException — если source равно null
Начиная с версии:
1.6
См. также:
  • MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
  • MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)

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 — для scrollType WHEEL_UNIT_SCROLL — количество прокручиваемых единиц
wheelRotation — целое число «щелчков», на которое повернулось колёсико мыши
preciseWheelRotation — число с плавающей точкой, обозначающее количество «щелчков», на которое повернулось колёсико мыши
Выбрасывает:
IllegalArgumentException — если source равно null
Начиная с версии:
1.7
См. также:
  • MouseEvent(java.awt.Component, int, long, int, int, int, int, boolean)
  • MouseEvent(java.awt.Component, int, long, int, int, int, int, int, int, boolean, int)

Подробное описание методов

getScrollType

public int getScrollType()
Возвращает тип прокрутки, которая должна выполняться в ответ на это событие. Он определяется нативной платформой. Допустимые значения:
  • MouseWheelEvent.WHEEL_UNIT_SCROLL
  • MouseWheelEvent.WHEEL_BLOCK_SCROLL
Возвращает:
MouseWheelEvent.WHEEL_UNIT_SCROLL или MouseWheelEvent.WHEEL_BLOCK_SCROLL в зависимости от конфигурации нативной платформы.
См. также:
  • Adjustable.getUnitIncrement()
  • Adjustable.getBlockIncrement()
  • Scrollable.getScrollableUnitIncrement(Rectangle, int, int)
  • Scrollable.getScrollableBlockIncrement(Rectangle, int, int)

getScrollAmount

public int getScrollAmount()
Возвращает количество единиц прокрутки на каждый щелчок колёсика мыши. Имеет смысл только в том случае, если getScrollType возвращает MouseWheelEvent.WHEEL_UNIT_SCROLL
Возвращает:
количество единиц прокрутки или неопределённое значение, если getScrollType возвращает MouseWheelEvent.WHEEL_BLOCK_SCROLL
См. также:
  • getScrollType()

getWheelRotation

public int getWheelRotation()
Возвращает целое число «щелчков», на которое повернулось колёсико мыши. Если мышь поддерживает колесо высокого разрешения, может произойти частичный поворот. В этом случае метод возвращает ноль, пока не будет накоплен полный «щелчок».
Возвращает:
отрицательные значения, если колёсико мыши повернуто вверх или от пользователя, и положительные значения, если колёсико мыши повернуто вниз или к пользователю
См. также:
  • getPreciseWheelRotation()

getPreciseWheelRotation

public double getPreciseWheelRotation()
Возвращает число с плавающей точкой, обозначающее количество «щелчков», на которое повернулось колёсико мыши. Если мышь поддерживает колесо высокого разрешения, может произойти частичный поворот. В этом случае возвращаемое значение будет включать дробный «щелчок».
Возвращает:
отрицательные значения, если колёсико мыши повернуто вверх или от пользователя, и положительные значения, если колёсико мыши повернуто вниз или к пользователю
Начиная с версии:
1.7
См. также:
  • getWheelRotation()

getUnitsToScroll

public int getUnitsToScroll()
Это вспомогательный метод, упрощающий реализацию типичного MouseWheelListener: он прокручивает ScrollPane или JScrollPane на величину, соответствующую настройкам платформы. (Однако 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);
     }
 }
Возвращает:
количество единиц прокрутки, определяемое направлением и величиной поворота колёсика мыши, а также настройками прокрутки колёсиком нативной платформы
См. также:
  • getScrollType()
  • getScrollAmount()
  • MouseWheelListener
  • Adjustable
  • Adjustable.getUnitIncrement()
  • Scrollable
  • Scrollable.getScrollableUnitIncrement(Rectangle, int, int)
  • ScrollPane
  • ScrollPane.setWheelScrollingEnabled(boolean)
  • JScrollPane
  • JScrollPane.setWheelScrollingEnabled(boolean)

paramString

public String paramString()
Возвращает строку параметров, идентифицирующую это событие. Этот метод полезен для ведения журнала событий и отладки.
Переопределяет:
paramString в классе MouseEvent
Возвращает:
строку, идентифицирующую событие и его атрибуты

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065, США.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API