Класс 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). Это позволяет устанавливать сложные GUI без модификаций в ScrollPane, и все MouseWheelEvents доставляются в ScrollPane для прокрутки.

Некоторые компоненты AWT реализованы с использованием собственных виджетов, которые отображают свои собственные полосы прокрутки и обрабатывают свою собственную прокрутку. Конкретные компоненты, для которых это верно, будут различаться в зависимости от платформы. При перемещении колеса мыши над одним из таких компонентов событие доставляется непосредственно в собственный виджет, а не распространяется на предков.

Платформы предоставляют возможность настраивать количество прокрутки, которое должно выполняться при перемещении колеса мыши. Две наиболее распространённые настройки — прокрутка на определённое количество «единиц» (обычно строк текста в текстовом компоненте) или на целый «блок» (аналогично клавишам Page Up/Page Down). MouseWheelEvent предлагает методы для соответствия настройкам базовой платформы. Эти настройки платформы могут быть изменены пользователем в любое время. MouseWheelEvents отражают последние настройки.

Класс MouseWheelEvent включает методы для получения количества «щелчков» поворотом колеса мыши. Метод getWheelRotation() возвращает целое число «щелчков», соответствующее количеству щелчков, на которые было повернуто колесо. В дополнение к этому методу, класс MouseWheelEvent предоставляет метод getPreciseWheelRotation(), который возвращает двойное число «щелчков» в случае частичного поворота. Метод getPreciseWheelRotation() полезен, если мышь поддерживает колесо высокой точности, например, свободно вращающееся колесо без щелчков. Приложения могут извлечь выгоду, используя этот метод для более точной обработки событий колёсика мыши, и, таким образом, сделать визуальное восприятие более плавным.

С тех пор:
1.4
См. также:
MouseWheelListener, ScrollPane, ScrollPane.setWheelScrollingEnabled(boolean), JScrollPane, JScrollPane.setWheelScrollingEnabled(boolean), Сериализованная форма

Поля

Модификатор и тип Поле Описание
static int WHEEL_BLOCK_SCROLL

Константа, представляющая прокрутку на «блок» (как при прокрутке с помощью клавиш Page Up, Page Down)

static 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​(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()

Возвращает строку-параметр, идентифицирующую данное событие.

Методы, объявленные в классе 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.awt.AWTEvent

getID, setSource, toString

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

getSource

Методы, объявленные в классе java.lang.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 - компонент, являющийся источником события
id - целое число, определяющее событие
when - значение типа long, указывающее время события
modifiers - нажатые модификаторы клавиш во время события (Shift, Ctrl, Alt, Meta)
x - горизонтальная координата x для положения мыши
y - вертикальная координата y для положения мыши
clickCount - количество щелчков мышью, связанных с событием
popupTrigger - логическое значение, true, если это событие является триггером для всплывающего меню
scrollType - тип прокрутки, который должен произойти в ответ на это событие; допустимые значения — WHEEL_UNIT_SCROLL и WHEEL_BLOCK_SCROLL
scrollAmount - для типа прокрутки 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 - компонент, являющийся источником события
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 - для типа прокрутки 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 - компонент, являющийся источником события
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 - для типа прокрутки WHEEL_UNIT_SCROLL, количество единиц для прокрутки
wheelRotation - целое число, представляющее количество "щелчков" вращения колесика мыши
preciseWheelRotation - число типа double, представляющее количество "щелчков" вращения колесика мыши
Исключения:
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(java.awt.Rectangle, int, int), Scrollable.getScrollableBlockIncrement(java.awt.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(java.awt.Rectangle, int, int), ScrollPane, ScrollPane.setWheelScrollingEnabled(boolean), JScrollPane, JScrollPane.setWheelScrollingEnabled(boolean)

paramString

public String paramString()

Возвращает строку параметров, идентифицирующую это событие. Этот метод полезен для ведения журнала событий и отладки.

Переопределяет:
paramString в классе MouseEvent
Возвращает:
строку, идентифицирующую событие и его атрибуты

© 1993, 2020, 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/11/docs/api/java.desktop/java/awt/event/MouseWheelEvent.html

Spec-Zone .ru
спецификации, руководства, описания, API