Spec-Zone.ru › OpenJavaFX 24

Класс ScrollEvent

java.lang.Object
java.util.EventObject
javafx.event.Event
javafx.scene.input.InputEvent
javafx.scene.input.GestureEvent
javafx.scene.input.ScrollEvent
Все реализованные интерфейсы:
Serializable, Cloneable
public final class ScrollEvent extends GestureEvent
Событие прокрутки указывает, что пользователь выполнил прокрутку с помощью колесика мыши, трекпада, сенсорного экрана или другого аналогичного устройства.

Когда прокрутка выполняется с помощью жеста касания (например, перетаскивания пальца по сенсорному экрану), она окружена событиями SCROLL_STARTED и SCROLL_FINISHED. Изменение количества участвующих точек касания во время прокрутки считается новым жестом, поэтому пара уведомлений SCROLL_FINISHED и SCROLL_STARTED доставляется каждый раз, когда меняется touchCount. Когда прокрутка вызвана вращением колесика мыши, доставляется только одно событие SCROLL, без окружающих событий начала/окончания. Если на данной платформе активен инерционный скроллинг, могут последовать некоторые события SCROLL с isInertia(), возвращающим true, после события SCROLL_FINISHED.

Событие доставляется в самый верхний узел, выбранный по координатам жеста в момент начала жеста — весь жест доставляется тому же узлу, даже если координаты изменяются во время жеста. При вращении колесика мыши событие доставляется в самый верхний узел, выбранный по местоположению курсора мыши. Доставка не зависит от текущего владельца фокуса.

Событие предоставляет два различных типа значений прокрутки: основанные на пикселях и на символах/строках. Основные значения 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 enum  ScrollEvent.HorizontalTextScrollUnits
Горизонтальные текстовые единицы измерения прокрутки.
static enum  ScrollEvent.VerticalTextScrollUnits
Вертикальные текстовые единицы измерения прокрутки.

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

Модификатор и тип Поле Описание
static final EventType<ScrollEvent> ANY
Общий супертип для всех типов событий прокрутки.
static final EventType<ScrollEvent> SCROLL
Это событие возникает, когда пользователь выполняет действие прокрутки, например, вращая колесико мыши или перетаскивая палец по сенсорному экрану.
static final EventType<ScrollEvent> SCROLL_FINISHED
Это событие возникает, когда завершается жест прокрутки.
static final 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

Методы, объявленные в классе javafx.event.Event

clone, consume, fireEvent, getTarget, isConsumed

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

getSource

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

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

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

ANY

public static final EventType<ScrollEvent> ANY
Общий супертип для всех типов событий прокрутки.

SCROLL

public static final EventType<ScrollEvent> SCROLL
Это событие возникает, когда пользователь выполняет действие прокрутки, например, вращает колесо мыши или перемещает палец по сенсорному экрану.

SCROLL_STARTED

public static final EventType<ScrollEvent> SCROLL_STARTED
Это событие возникает, когда обнаружено жестикулярное действие прокрутки. Оно не возникает при прокрутке колесом мыши.
С момента:
JavaFX 2.2

SCROLL_FINISHED

public static final EventType<ScrollEvent> SCROLL_FINISHED
Это событие возникает, когда жестикулярное действие прокрутки заканчивается. Оно не возникает при прокрутке колесом мыши.
С момента:
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)
Создаёт новое событие прокрутки.
Параметры:
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 строится на основе координат сцены и цели
С момента:
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)
Создаёт новое событие прокрутки с 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 результат выбора строится на основе координат сцены
С момента:
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)
Создаёт новое событие прокрутки с 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 - накопленное вертикальное количество прокрутки
multiplierX - множитель X для преобразования вращений колеса в пиксели
multiplierY - множитель Y для преобразования вращений колеса в пиксели
textDeltaXUnits - единицы для горизонтального скролла текста
textDeltaX - горизонтальное количество прокрутки текста
textDeltaYUnits - единицы для вертикального скролла текста
textDeltaY - вертикальное количество прокрутки текста
touchCount - количество точек касания
pickResult - результат выбора. Может быть null, в этом случае 2D результат выбора строится на основе координат сцены
С момента:
JavaFX 8.0

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

getDeltaX

public double getDeltaX()
Получает количество горизонтального скролла. Это значение следует интерпретировать как количество пикселей для скролла. При скролле текстового содержимого, значения textDeltaX и textDeltaXUnits следует рассматривать в первую очередь.

Знак значения инвертирован по сравнению с системой координат (при прокрутке вправо, содержимое фактически должно смещаться влево). Таким образом, возвращаемое значение можно просто добавить к координате X содержимого.

Возвращает:
Количество пикселей для горизонтального скролла

getDeltaY

public double getDeltaY()
Получает количество вертикального скролла. Это значение следует интерпретировать как количество пикселей для скролла. При скролле текстового содержимого, значения textDeltaY и textDeltaYUnits следует рассматривать в первую очередь.

Знак значения инвертирован по сравнению с системой координат (при прокрутке вниз, содержимое фактически должно смещаться вверх). Таким образом, возвращаемое значение можно просто добавить к координате Y содержимого.

Возвращает:
Количество пикселей для вертикального скролла

getTotalDeltaX

public double getTotalDeltaX()
Получает накопленное горизонтальное количество прокрутки для всего жеста. Это значение следует интерпретировать как количество пикселей для скролла относительно состояния в начале жеста. Содержит нули для прокрутки колесом мыши.

Знак значения инвертирован по сравнению с системой координат (при прокрутке вправо, содержимое фактически должно смещаться влево). Таким образом, возвращаемое значение можно просто добавить к координате X содержимого.

Возвращает:
Количество пикселей горизонтального скролла во время жеста
С момента:
JavaFX 2.2

getTotalDeltaY

public double getTotalDeltaY()
Получает накопленное вертикальное количество прокрутки для всего жеста. Это значение следует интерпретировать как количество пикселей для скролла относительно состояния в начале жеста. Содержит нули для прокрутки колесом мыши.

Знак значения инвертирован по сравнению с системой координат (при прокрутке вниз, содержимое фактически должно смещаться вверх). Таким образом, возвращаемое значение можно просто добавить к координате Y содержимого.

Возвращает:
Количество пикселей вертикального скролла во время жеста
С момента:
JavaFX 2.2

getTextDeltaXUnits

public ScrollEvent.HorizontalTextScrollUnits getTextDeltaXUnits()
Получает горизонтальные единицы прокрутки для прокрутки текста. Возвращаемое значение указывает, как интерпретировать значение getTextDeltaX(). Если возвращаемое значение равно NONE, значение прокрутки текста недоступно, и необходимо использовать значение в пикселях getDeltaX().
Возвращает:
горизонтальные единицы прокрутки для прокрутки текста

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()
Получает количество точек касания, которые вызвали это событие. Для устройств без сенсорного ввода (например, мышь, колесо прокрутки) и для событий инерции после завершения жеста возвращает ноль.
Возвращает:
Количество точек касания, которые вызвали это событие
Since:
JavaFX 2.2

getMultiplierX

public double getMultiplierX()
Получает множитель, используемый для преобразования единиц вращения колеса мыши в пиксели
Возвращает:
множитель x
Since:
JavaFX 8.0

getMultiplierY

public double getMultiplierY()
Получает множитель, используемый для преобразования единиц вращения колеса мыши в пиксели
Возвращает:
множитель y
Since:
JavaFX 8.0

toString

public String toString()
Возвращает строковое представление этого объекта ScrollEvent.
Overrides:
toString в классе GestureEvent
Возвращает:
строковое представление этого объекта ScrollEvent.

copyFor

public ScrollEvent copyFor(Object newSource, EventTarget newTarget)
Описание скопировано из класса: GestureEvent
Создает и возвращает копию этого события с указанным источником и целевой точкой. Если источник или целевая точка установлены в null, они заменяются значением NULL_SOURCE_TARGET.
Overrides:
copyFor в классе Event
Параметры:
newSource - новый источник скопированного события
newTarget - новая целевая точка скопированного события
Возвращает:
копию события с новым источником и целевой точкой

copyFor

public ScrollEvent copyFor(Object newSource, EventTarget newTarget, EventType<ScrollEvent> type)
Создает копию заданного события с подстановкой указанных полей.
Параметры:
newSource - новый источник скопированного события
newTarget - новая целевая точка скопированного события
type - новый тип события
Возвращает:
копию события с подставленными полями
Since:
JavaFX 8.0

getEventType

public EventType<ScrollEvent> getEventType()
Описание скопировано из класса: Event
Получает тип события этого события. Объекты одного и того же класса Event могут иметь разные типы событий. Эти типы событий дополнительно уточняют, какое событие произошло.
Overrides:
getEventType в классе Event
Возвращает:
тип события

Отправить отчет об ошибке или предложить улучшение
Авторское право © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 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.

Spec-Zone.ru

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