Класс 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, содержащий событие мыши.
Из-за специальной связи колеса мыши с компонентами прокрутки, 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(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(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) | Создаёт объект |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
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