Класс ScrollEvent
- Все реализуемые интерфейсы:
-
Serializable,Cloneable
public final class ScrollEvent
extends GestureEvent При прокрутке, вызванной жестом касания (например, перетаскиванием пальца по сенсорному экрану), она окружена событиями SCROLL_STARTED и SCROLL_FINISHED. Изменение количества участвующих точек касания во время прокрутки рассматривается как новый жест, поэтому пара уведомлений SCROLL_FINISHED и SCROLL_STARTED доставляется каждый раз, когда изменяется touchCount. Когда прокрутка вызвана вращением колесика мыши, доставляется только одно событие SCROLL, без окружающих событий начала/завершения. Если на данной платформе активен инерционный скроллинг, после события SCROLL_FINISHED могут последовать некоторые события SCROLL, с isInertia() возвращающим значение true.
Событие доставляется на самый верхний узел, выбранный по координатам жеста в момент начала жеста — весь жест доставляется одному и тому же узлу, даже если координаты изменяются во время жеста. Для вращения колесика мыши событие доставляется на самый верхний узел, выбранный по местоположению курсора мыши. Доставка не зависит от текущего фокусного элемента.
Событие предоставляет два различных типа значений прокрутки: основанные на пикселях и основанные на символах/строках. Основные значения deltaX и deltaY дают разумные результаты, если их использовать как количество пикселей для прокрутки (totalDeltaX и totalDeltaY содержат кумулятивные значения для всего жеста, нули для колесика мыши). Для прокрутки текста (или других содержаний, основанных на строках, таких как таблицы) следует использовать значения textDelta, если они доступны. Значения textDeltaXUnits и textDeltaYUnits определяют, как интерпретировать значения textDeltaX и textDeltaY. Если единицы установлены на NONE, значения, основанные на тексте, недоступны (не предоставляются платформой), и необходимо использовать значения, основанные на пикселях.
Как и все жесты, прокрутка может быть прямой (выполняется непосредственно по конкретным координатам, как на сенсорном экране — обычно используется центральная точка между всеми касаниями в качестве координат жеста) или косвенной (выполняется косвенно, как на трекпаде или с помощью мыши — обычно используется местоположение курсора мыши в качестве координат жеста).
Например, прокрутка графического узла может быть реализована следующим кодом:
node.setOnScroll(new EventHandler<ScrollEvent>() {
@Override public void handle(ScrollEvent event) {
node.setTranslateX(node.getTranslateX() + event.getDeltaX());
node.setTranslateY(node.getTranslateY() + event.getDeltaY());
}
});
Обработчик событий прокрутки для компонента, основанного на тексте, который ведет себя в соответствии с настройками системы на всех платформах, должен содержать следующий код:
switch(event.getTextDeltaYUnits()) {
case LINES:
// scroll about event.getTextDeltaY() lines
break;
case PAGES:
// scroll about event.getTextDeltaY() pages
break;
case NONE:
// scroll about event.getDeltaY() pixels
break;
}
- С:
- JavaFX 2.0
- См. также:
- Сериализованная форма
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class | ScrollEvent.HorizontalTextScrollUnits | Горизонтальные текстовые единицы прокрутки. |
static class | ScrollEvent.VerticalTextScrollUnits | Вертикальные текстовые единицы прокрутки. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static EventType<ScrollEvent> | ANY | Общий супертип для всех типов событий прокрутки. |
static EventType<ScrollEvent> | SCROLL | Это событие возникает, когда пользователь выполняет действие прокрутки, такое как вращение колесика мыши или перетаскивание пальца по сенсорному экрану. |
static EventType<ScrollEvent> | SCROLL_FINISHED | Это событие возникает при завершении жеста прокрутки. |
static EventType<ScrollEvent> | SCROLL_STARTED | Это событие возникает при обнаружении жеста прокрутки. |
Поля, объявленные в классе javafx.event.Event
consumed, eventType, NULL_SOURCE_TARGET, target
Поля, объявленные в классе java.util.EventObject
source
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ScrollEvent(Object source,
EventTarget target,
EventType<ScrollEvent> eventType,
double x,
double y,
double screenX,
double screenY,
boolean shiftDown,
boolean controlDown,
boolean altDown,
boolean metaDown,
boolean direct,
boolean inertia,
double deltaX,
double deltaY,
double totalDeltaX,
double totalDeltaY,
ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits,
double textDeltaX,
ScrollEvent.VerticalTextScrollUnits textDeltaYUnits,
double textDeltaY,
int touchCount,
PickResult pickResult) | Создает новое событие ScrollEvent. |
ScrollEvent(EventType<ScrollEvent> eventType,
double x,
double y,
double screenX,
double screenY,
boolean shiftDown,
boolean controlDown,
boolean altDown,
boolean metaDown,
boolean direct,
boolean inertia,
double deltaX,
double deltaY,
double totalDeltaX,
double totalDeltaY,
double multiplierX,
double multiplierY,
ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits,
double textDeltaX,
ScrollEvent.VerticalTextScrollUnits textDeltaYUnits,
double textDeltaY,
int touchCount,
PickResult pickResult) | Создает новое событие ScrollEvent с null источником и целевым объектом |
ScrollEvent(EventType<ScrollEvent> eventType,
double x,
double y,
double screenX,
double screenY,
boolean shiftDown,
boolean controlDown,
boolean altDown,
boolean metaDown,
boolean direct,
boolean inertia,
double deltaX,
double deltaY,
double totalDeltaX,
double totalDeltaY,
ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits,
double textDeltaX,
ScrollEvent.VerticalTextScrollUnits textDeltaYUnits,
double textDeltaY,
int touchCount,
PickResult pickResult) | Создает новое событие ScrollEvent с null источником и целевым объектом |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ScrollEvent | copyFor(Object newSource,
EventTarget newTarget) | Создает и возвращает копию этого события со указанным источником и целевым объектом. |
ScrollEvent | copyFor(Object newSource,
EventTarget newTarget,
EventType<ScrollEvent> type) | Создает копию заданного события с подставленными заданными полями. |
double | getDeltaX() | Возвращает горизонтальное смещение. |
double | getDeltaY() | Возвращает вертикальное смещение. |
EventType<ScrollEvent> | getEventType() | Возвращает тип события данного события. |
double | getMultiplierX() | Возвращает множитель, используемый для преобразования единиц вращения колесика мыши в пиксели |
double | getMultiplierY() | Возвращает множитель, используемый для преобразования единиц вращения колесика мыши в пиксели |
double | getTextDeltaX() | Возвращает горизонтальное текстовое смещение. |
ScrollEvent.HorizontalTextScrollUnits | getTextDeltaXUnits() | Возвращает горизонтальные единицы прокрутки для текстовой прокрутки. |
double | getTextDeltaY() | Возвращает вертикальное текстовое смещение. |
ScrollEvent.VerticalTextScrollUnits | getTextDeltaYUnits() | Возвращает вертикальные единицы прокрутки для текстовой прокрутки. |
double | getTotalDeltaX() | Возвращает общее горизонтальное смещение для всего жеста. |
double | getTotalDeltaY() | Возвращает общее вертикальное смещение для всего жеста. |
int | getTouchCount() | Возвращает количество точек касания, вызвавших это событие. |
String | toString() | Возвращает строковое представление этого объекта ScrollEvent. |
Методы, объявленные в классе javafx.scene.input.GestureEvent
getPickResult, getSceneX, getSceneY, getScreenX, getScreenY, getX, getY, getZ, isAltDown, isControlDown, isDirect, isInertia, isMetaDown, isShiftDown, isShortcutDown
Методы, объявленные в классе java.util.EventObject
getSource
Подробное описание полей
ANY
public static final EventType<ScrollEvent> ANY
SCROLL
public static final EventType<ScrollEvent> SCROLL
SCROLL_STARTED
public static final EventType<ScrollEvent> SCROLL_STARTED
- Since:
- JavaFX 2.2
SCROLL_FINISHED
public static final EventType<ScrollEvent> SCROLL_FINISHED
- Since:
- JavaFX 2.2
Подробное описание конструкторов
ScrollEvent
public ScrollEvent(Object source, EventTarget target, EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
- Parameters:
-
source- источник события. Может быть null. -
target- целевой объект события. Может быть null. -
eventType- Тип события. -
x- Координата x относительно сцены. -
y- Координата y относительно сцены. -
screenX- Координата x относительно экрана. -
screenY- Координата y относительно экрана. -
shiftDown- true, если нажата клавиша Shift. -
controlDown- true, если нажата клавиша Ctrl. -
altDown- true, если нажата клавиша Alt. -
metaDown- true, если нажата клавиша Meta. -
direct- true, если событие вызвано прямым устройством ввода. См.GestureEvent.isDirect() -
inertia- если представляет инерцию уже завершенного жеста. -
deltaX- горизонтальное смещение прокрутки -
deltaY- вертикальное смещение прокрутки -
totalDeltaX- кумулятивное горизонтальное смещение прокрутки -
totalDeltaY- кумулятивное вертикальное смещение прокрутки -
textDeltaXUnits- единицы для горизонтального смещения прокрутки, связанной с текстом -
textDeltaX- горизонтальное смещение прокрутки, связанной с текстом -
textDeltaYUnits- единицы для вертикального смещения прокрутки, связанной с текстом -
textDeltaY- вертикальное смещение прокрутки, связанной с текстом -
touchCount- количество точек касания -
pickResult- результат выбора. Может быть null, в этом случае результат 2D выбора без дополнительных значений строится на основе координат сцены и целевого объекта - Since:
- JavaFX 8.0
ScrollEvent
public ScrollEvent(EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
- Parameters:
-
eventType- Тип события. -
x- Координата x относительно сцены. -
y- Координата y относительно сцены. -
screenX- Координата x относительно экрана. -
screenY- Координата y относительно экрана. -
shiftDown- true, если нажата клавиша Shift. -
controlDown- true, если нажата клавиша Ctrl. -
altDown- true, если нажата клавиша Alt. -
metaDown- true, если нажата клавиша Meta. -
direct- true, если событие вызвано прямым устройством ввода. См.GestureEvent.isDirect() -
inertia- если представляет инерцию уже завершенного жеста. -
deltaX- горизонтальное смещение прокрутки -
deltaY- вертикальное смещение прокрутки -
totalDeltaX- кумулятивное горизонтальное смещение прокрутки -
totalDeltaY- кумулятивное вертикальное смещение прокрутки -
textDeltaXUnits- единицы для горизонтального смещения прокрутки, связанной с текстом -
textDeltaX- горизонтальное смещение прокрутки, связанной с текстом -
textDeltaYUnits- единицы для вертикального смещения прокрутки, связанной с текстом -
textDeltaY- вертикальное смещение прокрутки, связанной с текстом -
touchCount- количество точек касания -
pickResult- результат выбора. Может быть null, в этом случае результат 2D выбора без дополнительных значений строится на основе координат сцены - Since:
- JavaFX 8.0
ScrollEvent
public ScrollEvent(EventType<ScrollEvent> eventType, double x, double y, double screenX, double screenY, boolean shiftDown, boolean controlDown, boolean altDown, boolean metaDown, boolean direct, boolean inertia, double deltaX, double deltaY, double totalDeltaX, double totalDeltaY, double multiplierX, double multiplierY, ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits, double textDeltaX, ScrollEvent.VerticalTextScrollUnits textDeltaYUnits, double textDeltaY, int touchCount, PickResult pickResult)
- Parameters:
-
eventType- Тип события. -
x- Координата x относительно сцены. -
y- Координата y относительно сцены. -
screenX- Координата x относительно экрана. -
screenY- Координата y относительно экрана. -
shiftDown- true, если нажата клавиша Shift. -
controlDown- true, если нажата клавиша Ctrl. -
altDown- true, если нажата клавиша Alt. -
metaDown- true, если нажата клавиша Meta. -
direct- true, если событие вызвано прямым устройством ввода. См.GestureEvent.isDirect() -
inertia- если представляет инерцию уже завершенного жеста. -
deltaX- горизонтальное смещение прокрутки -
deltaY- вертикальное смещение прокрутки -
totalDeltaX- кумулятивное горизонтальное смещение прокрутки -
totalDeltaY- кумулятивное вертикальное смещение прокрутки -
multiplierX- множитель X, используемый для преобразования вращений колесика в пиксели -
multiplierY- множитель Y, используемый для преобразования вращений колесика в пиксели -
textDeltaXUnits- единицы для горизонтального смещения прокрутки, связанной с текстом -
textDeltaX- горизонтальное смещение прокрутки, связанной с текстом -
textDeltaYUnits- единицы для вертикального смещения прокрутки, связанной с текстом -
textDeltaY- вертикальное смещение прокрутки, связанной с текстом -
touchCount- количество точек касания -
pickResult- результат выбора. Может быть null, в этом случае результат 2D выбора без дополнительных значений строится на основе координат сцены - Since:
- JavaFX 8.0
Подробное описание методов
getDeltaX
public double getDeltaX()
textDeltaX и textDeltaXUnits. Знак значения инвертирован по сравнению с системой координат (при прокрутке вправо, содержимое фактически должно смещаться влево). Поэтому возвращаемое значение можно просто добавить к координате X содержимого.
- Returns:
- Количество пикселей для горизонтальной прокрутки
getDeltaY
public double getDeltaY()
textDeltaY и textDeltaYUnits. Знак значения инвертирован по сравнению с системой координат (при прокрутке вниз, содержимое фактически должно смещаться вверх). Поэтому возвращаемое значение можно просто добавить к координате Y содержимого.
- Returns:
- Количество пикселей для вертикальной прокрутки
getTotalDeltaX
public double getTotalDeltaX()
Знак значения инвертирован по сравнению с системой координат (при прокрутке вправо, содержимое фактически должно смещаться влево). Поэтому возвращаемое значение можно просто добавить к координате X содержимого.
- Returns:
- Количество пикселей, прокрученных горизонтально во время жеста
- Since:
- JavaFX 2.2
getTotalDeltaY
public double getTotalDeltaY()
Знак значения инвертирован по сравнению с системой координат (при прокрутке вниз, содержимое фактически должно смещаться вверх). Поэтому возвращаемое значение можно просто добавить к координате Y содержимого.
- Returns:
- Количество пикселей, прокрученных вертикально во время жеста
- Since:
- JavaFX 2.2
getTextDeltaXUnits
public ScrollEvent.HorizontalTextScrollUnits getTextDeltaXUnits()
getTextDeltaX(). Если возвращаемое значение равно NONE, значение прокрутки, связанной с текстом, недоступно, и нужно использовать значение, связанное с пикселями getDeltaX().- Returns:
- горизонтальные единицы прокрутки для прокрутки, связанной с текстом
getTextDeltaYUnits
public ScrollEvent.VerticalTextScrollUnits getTextDeltaYUnits()
getTextDeltaY(). Если возвращаемое значение равно NONE, значение прокрутки текста недоступно, и необходимо использовать значение пикселей getDeltaY().- Возвращает:
- вертикальные единицы прокрутки для прокрутки текста
getTextDeltaX
public double getTextDeltaX()
getTextDeltaXUnits().- Возвращает:
- Количество единиц горизонтальной прокрутки, ноль, если данные о горизонтальной прокрутке текста недоступны
getTextDeltaXUnits()возвращаетNONE
getTextDeltaY
public double getTextDeltaY()
getTextDeltaYUnits().- Возвращает:
- Количество единиц вертикальной прокрутки, ноль, если данные о вертикальной прокрутке текста недоступны
getTextDeltaYUnits()возвращаетNONE
getTouchCount
public int getTouchCount()
- Возвращает:
- Количество точек касания, вызвавших это событие
- С:
- JavaFX 2.2
getMultiplierX
public double getMultiplierX()
- Возвращает:
- множитель x
- С:
- JavaFX 8.0
getMultiplierY
public double getMultiplierY()
- Возвращает:
- множитель y
- С:
- JavaFX 8.0
toString
public String toString()
ScrollEvent.- Переопределяет:
-
toStringв классеGestureEvent - Возвращает:
- строковое представление этого объекта
ScrollEvent.
copyFor
public ScrollEvent copyFor(Object newSource, EventTarget newTarget)
Eventnull, они заменяются значением NULL_SOURCE_TARGET.- Переопределяет:
-
copyForв классеEvent - Параметры:
-
newSource- новый источник скопированного события -
newTarget- новый целевой объект скопированного события - Возвращает:
- копию события с новым источником и целевым объектом
copyFor
public ScrollEvent copyFor(Object newSource, EventTarget newTarget, EventType<ScrollEvent> type)
- Параметры:
-
newSource- новый источник скопированного события -
newTarget- новый целевой объект скопированного события -
type- новый тип события - Возвращает:
- копию события с изменёнными полями
- С:
- JavaFX 8.0
getEventType
public EventType<ScrollEvent> getEventType()
EventEvent могут иметь разные типы событий. Эти типы событий дополнительно указывают, какой вид события произошёл.- Переопределяет:
-
getEventTypeв классеEvent - Возвращает:
- тип события
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.