Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.graphics
Пакет 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 с 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 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 source и target
    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 source и target
  • Краткое описание методов

    Все методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод Описание
    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
      Это событие происходит, когда обнаруживается жест прокрутки. Оно не происходит при прокрутке колесом мыши.
      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)
      Создаёт новое событие ScrollEvent.
      Параметры:
      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)
      Создаёт новое событие ScrollEvent с 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,
                         double multiplierX,
                         double multiplierY,
                         ScrollEvent.HorizontalTextScrollUnits textDeltaXUnits,
                         double textDeltaX,
                         ScrollEvent.VerticalTextScrollUnits textDeltaYUnits,
                         double textDeltaY,
                         int touchCount,
                         PickResult pickResult)
      Создаёт новое событие ScrollEvent с 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-выделения без дополнительных значений строится на основе координат сцены.
      Since:
      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)
      Описание скопировано из класса: GestureEvent
      Создает и возвращает копию этого события с указанным источником и целевым объектом. Если источник или целевой объект задан как null, он заменяется значением NULL_SOURCE_TARGET.
      Переопределяет:
      copyFor в классе GestureEvent
      Параметры:
      newSource - новый источник скопированного события
      newTarget - новый целевой объект скопированного события
      Возвращает:
      копию события с новым источником и целевым объектом
    • copyFor

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