Spec-Zone.ru › OpenJavaFX 8
javafx.scene.input

Класс 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_FINISHED могут появиться некоторые события SCROLL с isInertia(), возвращающие значение true.

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

Событие предоставляет два разных типа значений прокрутки: основанные на пикселях и на символах/строках. Значения, основанные на пикселях, deltaX и deltaY, дают разумные результаты при использовании в качестве количества пикселей для прокрутки (totalDeltaX и totalDeltaY содержат кумулятивные значения для всего жеста, нули для колеса мыши). Для прокрутки текста (или другого содержимого, основанного на строках, например, таблиц) следует использовать значения textDelta, если они доступны. Значения textDeltaXUnits и textDeltaYUnits определяют способ интерпретации значений textDeltaX и textDeltaY. Если единицы установлены в NONE, значения, основанные на тексте, недоступны (не предоставляются базовой платформой), и необходимо использовать значения, основанные на пикселях.

Как и все жесты, прокрутка может быть прямой (выполняется непосредственно по конкретным координатам, как на сенсорном экране — обычно используется центральная точка среди всех точек касания в качестве координат жеста) или косвенной (выполняется косвенно, как на трекпаде или с помощью мыши — обычно используется местоположение курсора мыши в качестве координат жеста).

Например, прокрутка графического узла может быть достигнута с помощью следующего кода:

node.setOnScroll(new EventHandler() {
        @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(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(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 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)
      Создает новое событие ScrollEvent.

      Параметры:

      source - источник события. Может быть null.

      С тех пор:

      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)
      Создает новое событие ScrollEvent с null-источником и целевым объектом.

      Параметры:

      eventType - Тип события.

      С тех пор:

      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)
      Создает новое событие ScrollEvent с null-источником и целевым объектом.

      Параметры:

      eventType - Тип события.

      С тех пор:

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

      Возвращает:

      Количество точек касания, вызвавших это событие

      С тех пор:

      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)
      Описание скопировано из класса: Event
      Создает и возвращает копию этого события с указанным источником и целевым объектом события. Если источник или целевой объект установлены в значение null, они заменяются значением NULL_SOURCE_TARGET.

      Переопределяет:

      copyFor в классе GestureEvent

      Параметры:

      newSource - новый источник скопированного события

      Возвращает:

      копию события с новым источником и целевым объектом

    • copyFor

      public ScrollEvent copyFor(Object newSource,
                                 EventTarget newTarget,
                                 EventType<ScrollEvent> type)
      Создает копию данного события с подставленными значениями полей.

      Параметры:

      source - новый источник скопированного события

      Возвращает:

      копию события с подставленными значениями полей

      С тех пор:

      JavaFX 8.0

    • getEventType

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

      Переопределяет:

      getEventType в классе GestureEvent

      Возвращает:

      тип события

© 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