Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.graphics
Пакет javafx.concurrent

Интерфейс Worker<V>

  • Все известные реализующие классы:
    ScheduledService, Service, Task
    public interface Worker<V>

    Объект Worker выполняет работу в одном или нескольких фоновых потоках, состояние которого наблюдаемо и доступно приложениям JavaFX, и используется из основного потока приложения JavaFX. Этот интерфейс в основном реализуется классами Task и Service, предоставляя общий API для обоих классов, что упрощает библиотекам и фреймворкам создание работающих с пользовательскими интерфейсами объектов Worker.

    Объект Worker может быть или не быть повторно используемым в зависимости от реализации. Например, Task не является повторно используемым, а Service — является.

    У объекта Worker есть чётко определённый жизненный цикл. Каждый Worker начинает в состоянии Worker.State.READY. Когда Worker запланирован для работы (например, когда вызывается метод Service.start() сервиса), он переходит в состояние Worker.State.SCHEDULED. Даже Worker, которые не запланированы технически, но начинаются сразу (например, с помощью FutureTask.run()) будут проходить через состояние Worker.State.SCHEDULED по пути к состоянию Worker.State.RUNNING.

    Когда Worker фактически выполняет свою работу, состояние переходит в Worker.State.RUNNING. Если Worker завершается нормально, он завершается в состоянии Worker.State.SUCCEEDED, и результат работы Worker устанавливается как свойство value. Однако, если во время выполнения Worker возникает исключение, состояние устанавливается в Worker.State.FAILED, а свойство exception устанавливается в возникшее исключение.

    В любое время до завершения Worker (то есть, если состояние ещё не Worker.State.SUCCEEDED или Worker.State.FAILED), разработчик может вызвать метод cancel(). Если он вызывается, выполнение Worker прекращается (при возможности, включая использование Thread.interrupt), а состояние меняется на Worker.State.CANCELLED.

    Единственное допустимое начальное состояние для Worker — Worker.State.READY, а допустимые конечные состояния — Worker.State.CANCELLED, Worker.State.SUCCEEDED и Worker.State.FAILED. Свойство running устанавливается в значение true, когда состояние равно Worker.State.SCHEDULED или Worker.State.RUNNING.

    Прогресс Worker можно отслеживать с помощью трёх свойств, totalWork, workDone и progress. Эти свойства устанавливаются фактической реализацией интерфейса Worker, но их могут наблюдать все. Свойство workDone — число от -1 (означающее неопределённый прогресс) до totalWork включительно. Когда workDone == totalWork, progress будет 100% (или 1). totalWork будет числом от -1 до Long.MAX_VALUE включительно. Прогресс будет либо -1 (означает неопределённый прогресс), либо значением от 0 до 1 включительно, представляющим 0%–100%.

    Worker, находящийся в состояниях Worker.State.READY или Worker.State.SCHEDULED, всегда будет иметь workDone и progress, установленные в -1. Worker, находящийся в состоянии Worker.State.SUCCEEDED, всегда будет иметь workDone == totalWork и progress == 1. В любом другом состоянии значения этих свойств могут быть любыми значениями в их соответствующих допустимых диапазонах.

    Since:
    JavaFX 2.0
  • Сводка свойств

    Свойства
    Тип Свойство Описание
    ReadOnlyObjectProperty<Throwable> exception
    Получает ReadOnlyObjectProperty, представляющий любую возникшую ошибку.
    ReadOnlyStringProperty message
    Получает ReadOnlyStringProperty, представляющий сообщение.
    ReadOnlyDoubleProperty progress
    Получает ReadOnlyDoubleProperty, представляющий прогресс.
    ReadOnlyBooleanProperty running
    Получает ReadOnlyBooleanProperty, представляющий, выполняется ли Worker.
    ReadOnlyObjectProperty<Worker.State> state
    Получает ReadOnlyObjectProperty, представляющий текущее состояние.
    ReadOnlyStringProperty title
    Получает ReadOnlyStringProperty, представляющий заголовок.
    ReadOnlyDoubleProperty totalWork
    Получает ReadOnlyDoubleProperty, представляющий максимальное количество работы, которое необходимо выполнить.
    ReadOnlyObjectProperty<V> value
    Получает ReadOnlyObjectProperty, представляющий значение.
    ReadOnlyDoubleProperty workDone
    Получает ReadOnlyDoubleProperty, представляющий текущий прогресс.
  • Сводка вложенных классов

    Вложенные классы
    Модификатор и тип Интерфейс Описание
    static class  Worker.State
    Состояние Worker.
  • Сводка методов

    Все методыМетоды экземпляраАбстрактные методы
    Модификатор и тип Метод Описание
    boolean cancel()
    Прерывает выполнение этого Worker.
    ReadOnlyObjectProperty<Throwable> exceptionProperty()
    Получает ReadOnlyObjectProperty, представляющий любую возникшую ошибку.
    Throwable getException()
    Указывает ошибку, возникшую во время выполнения Worker, если таковая имелась.
    String getMessage()
    Получает сообщение, связанное с текущим состоянием этого Worker.
    double getProgress()
    Указывает текущий прогресс этого Worker в процентах завершения.
    Worker.State getState()
    Указывает текущее состояние этого Worker.
    String getTitle()
    Необязательный заголовок, который должен быть связан с этим Worker.
    double getTotalWork()
    Указывает максимальное значение для свойства workDoneProperty().
    V getValue()
    Указывает значение или результат этого Worker.
    double getWorkDone()
    Указывает текущее количество завершенной работы.
    boolean isRunning()
    True, если состояние равно SCHEDULED или RUNNING.
    ReadOnlyStringProperty messageProperty()
    Получает ReadOnlyStringProperty, представляющий сообщение.
    ReadOnlyDoubleProperty progressProperty()
    Получает ReadOnlyDoubleProperty, представляющий прогресс.
    ReadOnlyBooleanProperty runningProperty()
    Получает ReadOnlyBooleanProperty, представляющий, выполняется ли Worker.
    ReadOnlyObjectProperty<Worker.State> stateProperty()
    Получает ReadOnlyObjectProperty, представляющий текущее состояние.
    ReadOnlyStringProperty titleProperty()
    Получает ReadOnlyStringProperty, представляющий заголовок.
    ReadOnlyDoubleProperty totalWorkProperty()
    Получает ReadOnlyDoubleProperty, представляющий максимальное количество работы, которое необходимо выполнить.
    ReadOnlyObjectProperty<V> valueProperty()
    Получает ReadOnlyObjectProperty, представляющий значение.
    ReadOnlyDoubleProperty workDoneProperty()
    Получает ReadOnlyDoubleProperty, представляющий текущий прогресс.
  • Подробное описание свойств

    • state

      ReadOnlyObjectProperty<Worker.State> stateProperty
      Получает ReadOnlyObjectProperty, представляющий текущее состояние.
      См. также:
      getState()
    • value

      ReadOnlyObjectProperty<V> valueProperty
      Получает ReadOnlyObjectProperty, представляющий значение.
      См. также:
      getValue()
    • exception

      ReadOnlyObjectProperty<Throwable> exceptionProperty
      Получает ReadOnlyObjectProperty, представляющий любую произошедшую ошибку.
      См. также:
      getException()
    • workDone

      ReadOnlyDoubleProperty workDoneProperty
      Получает ReadOnlyDoubleProperty, представляющий текущую степень выполнения.
      См. также:
      getWorkDone()
    • totalWork

      ReadOnlyDoubleProperty totalWorkProperty
      Получает ReadOnlyDoubleProperty, представляющий максимальный объем работы, который необходимо выполнить. Эти "рабочие единицы" имеют значение для реализации Worker, например, количество байтов, которые нужно загрузить, количество изображений для обработки или какой-либо другой показатель.
      См. также:
      getTotalWork()
    • progress

      ReadOnlyDoubleProperty progressProperty
      Получает ReadOnlyDoubleProperty, представляющий степень выполнения.
      См. также:
      getProgress()
    • running

      ReadOnlyBooleanProperty runningProperty
      Получает ReadOnlyBooleanProperty, указывающий, выполняется ли Worker.
      См. также:
      isRunning()
    • message

      ReadOnlyStringProperty messageProperty
      Получает ReadOnlyStringProperty, представляющий сообщение.
      См. также:
      getMessage()
    • title

      ReadOnlyStringProperty titleProperty
      Получает ReadOnlyStringProperty, представляющий заголовок.
      См. также:
      getTitle()
  • Метод-детали

    • getState

      Worker.State getState()
      Указывает текущее состояние этого Worker. Начальное значение — State.READY. Задача может быть перезапущена, в этом случае она перейдёт из одного из конечных состояний (SUCCEEDED, CANCELLED или FAILED) обратно в READY, а затем сразу в SCHEDULED и RUNNING. Эти переходы состояний могут происходить сразу друг за другом, но всегда в заданном порядке.
      Возвращает:
      Текущее состояние этого Worker
    • stateProperty

      ReadOnlyObjectProperty<Worker.State> stateProperty()
      Получает ReadOnlyObjectProperty, представляющую текущее состояние.
      См. также:
      getState()
    • getValue

      V getValue()
      Указывает значение или результат этого Worker. Это устанавливается при переходе в состояние SUCCEEDED и очищается (устанавливается в null), если Worker повторно инициализируется (то есть, если Worker является повторно используемым Worker и сброшен или перезапущен).
      Возвращает:
      текущее значение этого Worker
    • valueProperty

      ReadOnlyObjectProperty<V> valueProperty()
      Получает ReadOnlyObjectProperty, представляющую значение.
      См. также:
      getValue()
    • getException

      Throwable getException()
      Указывает исключение, которое произошло во время работы Worker, если таковое имело место. Если это значение свойства равно null, известное исключение отсутствует, даже если состояние FAILED. Если это свойство не равно null, оно, скорее всего, будет содержать исключение, которое описывает причину ошибки.
      Возвращает:
      исключение, если оно произошло
    • exceptionProperty

      ReadOnlyObjectProperty<Throwable> exceptionProperty()
      Получает ReadOnlyObjectProperty, представляющую любое возникшее исключение.
      См. также:
      getException()
    • getWorkDone

      double getWorkDone()
      Указывает текущее количество выполненной работы. Ноль или положительное значение обозначают прогресс к завершению. Значение этой переменной может или не может измениться от своего значения по умолчанию в зависимости от конкретной реализации Worker. Значение -1 означает, что текущее количество выполненной работы определить невозможно (т.е. оно неопределено). Значение этого свойства всегда меньше или равно totalWork.
      Возвращает:
      количество выполненной работы
      См. также:
      totalWorkProperty(), progressProperty()
    • workDoneProperty

      ReadOnlyDoubleProperty workDoneProperty()
      Получает ReadOnlyDoubleProperty, представляющую текущий прогресс.
      См. также:
      getWorkDone()
    • getTotalWork

      double getTotalWork()
      Указывает максимальное значение свойства workDoneProperty(). totalWork будет либо -1 (указывающее, что количество работы неопределено), либо ненулевым значением, меньшим или равным Double.MAX_VALUE.
      Возвращает:
      общий объём работы
      См. также:
      workDoneProperty(), progressProperty()
    • totalWorkProperty

      ReadOnlyDoubleProperty totalWorkProperty()
      Получает ReadOnlyDoubleProperty, представляющую максимальное количество работы, которое нужно выполнить. Эти "рабочие единицы" имеют смысл для реализации Worker, такие как количество байтов, которые нужно загрузить, или количество изображений для обработки, или какой-либо другой метрики.
      См. также:
      getTotalWork()
    • getProgress

      double getProgress()
      Указывает текущий прогресс этого Worker в процентах завершения. Значение между нулём и единицей указывает прогресс к завершению. Значение -1 означает, что текущий прогресс определить невозможно (то есть он неопределён). Это свойство может или не может изменяться от значения по умолчанию -1 в зависимости от конкретной реализации Worker.
      Возвращает:
      текущий прогресс
      См. также:
      workDoneProperty(), totalWorkProperty()
    • progressProperty

      ReadOnlyDoubleProperty progressProperty()
      Получает ReadOnlyDoubleProperty, представляющую прогресс.
      См. также:
      getProgress()
    • isRunning

      boolean isRunning()
      Истинно, если состояние равно либо SCHEDULED, либо RUNNING. При привязке Worker к ProgressIndicator, обычно видимость ProgressIndicator привязывается к свойству running Worker, а прогресс ProgressIndicator — к свойству progress Worker.
      Возвращает:
      истина, если этот Worker выполняется
    • runningProperty

      ReadOnlyBooleanProperty runningProperty()
      Получает ReadOnlyBooleanProperty, представляющую, выполняется ли Worker.
      См. также:
      isRunning()
    • getMessage

      String getMessage()
      Получает сообщение, связанное с текущим состоянием этого Worker. Например, это может быть "Обработка изображения 1 из 3".
      Возвращает:
      текущее сообщение
    • messageProperty

      ReadOnlyStringProperty messageProperty()
      Получает ReadOnlyStringProperty, представляющую сообщение.
      См. также:
      getMessage()
    • getTitle

      String getTitle()
      Необязательный заголовок, который должен быть связан с этим Worker. Например, это может быть "Модификация изображений".
      Возвращает:
      текущий заголовок
    • titleProperty

      ReadOnlyStringProperty titleProperty()
      Получает ReadOnlyStringProperty, представляющую заголовок.
      См. также:
      getTitle()
    • cancel

      boolean cancel()
      Прерывает выполнение этого Worker. Вызов этого метода либо удалит этот Worker из очереди выполнения, либо остановит выполнение.
      Возвращает:
      возвращает true, если отмена прошла успешно

© 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