Класс 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, getModifiersEx, getMouseModifiersText, getPoint, getX, getXOnScreen, getY, getYOnScreen, isPopupTrigger, translatePoint Методы, унаследованные от класса java.awt.event.InputEvent
consume, getMaskForButton, getModifiers, 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- для scrollTypeWHEEL_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- для scrollTypeWHEEL_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- для scrollTypeWHEEL_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(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()
Возвращает число "щелчков" вращения колеса мыши как double. Частичное вращение может произойти, если мышь поддерживает колесо высокой точности. В этом случае возвращаемое значение будет включать дробный "щелчок".
- Возвращает:
- отрицательные значения, если колесо мыши вращалось вверх или от пользователя, и положительные значения, если колесо мыши вращалось вниз или к пользователю
- С:
- 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.