- java.lang.Object
-
- javafx.concurrent.Service<V>
-
- Тип параметров:
-
V- тип объекта, возвращаемого сервисом
- Все реализованные интерфейсы:
-
Worker<V>,EventTarget
- Прямые известные подклассы:
ScheduledService
public abstract class Service<V> extends Object implements Worker<V>, EventTarget
Сервис — это компонент без визуальных элементов, инкапсулирующий информацию, необходимую для выполнения работы на одном или нескольких фоновых потоках. В качестве части библиотеки пользовательского интерфейса JavaFX, сервис знает о потоке приложения JavaFX и предназначен для освобождения разработчика приложения от необходимости управления многопоточным кодом, взаимодействующим с пользовательским интерфейсом. Таким образом, все методы и состояние сервиса предназначены для вызова исключительно из потока приложения JavaFX. Единственное исключение из этого правила — это первоначальная настройка сервиса, которую можно безопасно выполнять из любого потока, и начальный запуск сервиса, который также можно безопасно выполнять из любого потока. Однако после инициализации и запуска сервиса он может быть использован только из потока FX.
Сервис создает и управляет
Task, который выполняет работу в фоновом потоке. Сервис реализуетWorker. Таким образом, вы можете наблюдать состояние фоновой задачи и, при необходимости, отменить ее. Сервис — это повторно используемый рабочий элемент, что означает, что он может быть сброшен и перезапущен. Благодаря этому сервис можно создавать декларативно и перезапускать по требованию. После запуска сервиса он запланирует свою задачу и будет следить за изменениями состояния задачи. Задача не сохраняет ссылку на сервис, который ее запустил, что означает, что выполняющаяся задача не помешает сервису быть удаленной сборщиком мусора.Если для сервиса указан
Executor, то он будет использоваться для фактического выполнения сервиса. В противном случае будет создан и запущен демон-поток. Если вы хотите создать не демон-потоки, укажите пользовательский Executor (например, вы можете использоватьThreadPoolExecutorс пользовательскимThreadFactory).Поскольку сервис предназначен для упрощения декларативных случаев использования, подклассы должны предоставлять в качестве свойств входные параметры для выполняемой работы. Например, предположим, что я хотел создать сервис, который читает первую строку из любого URL и возвращает ее в виде строки. Такой сервис можно определить таким образом, чтобы у него было одно свойство,
url. Его можно реализовать следующим образом:public static class FirstLineService extends Service<String> { private StringProperty url = new SimpleStringProperty(this, "url"); public final void setUrl(String value) { url.set(value); } public final String getUrl() { return url.get(); } public final StringProperty urlProperty() { return url; } protected Task createTask() { final String _url = getUrl(); return new Task<String>() { protected String call() throws Exception { URL u = new URL(_url); BufferedReader in = new BufferedReader( new InputStreamReader(u.openStream())); String result = in.readLine(); in.close(); return result; } }; } }Сервис по умолчанию использует пул потоков Executor с некоторым неопределенным значением размера пула потоков по умолчанию или максимального размера пула потоков. Это делается для того, чтобы код по умолчанию не перегружал систему созданием тысяч потоков.
- С момента:
- JavaFX 2.0
-
Краткое описание свойств
Свойства Тип Свойство Описание ReadOnlyObjectProperty<Throwable>exceptionВозвращает ReadOnlyObjectProperty, представляющий любую произошедшую ошибку.ObjectProperty<Executor>executorExecutor для выполнения этого сервиса.ReadOnlyStringPropertymessageВозвращает ReadOnlyStringProperty, представляющий сообщение.ObjectProperty<EventHandler<WorkerStateEvent>>onCancelledОбработчик события onCancelled вызывается всякий раз, когда состояние задачи переходит в состояние CANCELLED.ObjectProperty<EventHandler<WorkerStateEvent>>onFailedОбработчик события onFailed вызывается всякий раз, когда состояние задачи переходит в состояние FAILED.ObjectProperty<EventHandler<WorkerStateEvent>>onReadyОбработчик события onReady вызывается всякий раз, когда состояние задачи переходит в состояние READY.ObjectProperty<EventHandler<WorkerStateEvent>>onRunningОбработчик события onRunning вызывается всякий раз, когда состояние задачи переходит в состояние RUNNING.ObjectProperty<EventHandler<WorkerStateEvent>>onScheduledОбработчик события onSchedule вызывается всякий раз, когда состояние задачи переходит в состояние SCHEDULED.ObjectProperty<EventHandler<WorkerStateEvent>>onSucceededОбработчик события onSucceeded вызывается всякий раз, когда состояние задачи переходит в состояние SUCCEEDED.ReadOnlyDoublePropertyprogressВозвращает ReadOnlyDoubleProperty, представляющий прогресс.ReadOnlyBooleanPropertyrunningВозвращает ReadOnlyBooleanProperty, представляющий, запущен ли рабочий элемент.ReadOnlyObjectProperty<Worker.State>stateВозвращает ReadOnlyObjectProperty, представляющий текущее состояние.ReadOnlyStringPropertytitleВозвращает ReadOnlyStringProperty, представляющий заголовок.ReadOnlyDoublePropertytotalWorkВозвращает ReadOnlyDoubleProperty, представляющий максимальное количество работы, которое нужно сделать.ReadOnlyObjectProperty<V>valueВозвращает ReadOnlyObjectProperty, представляющий значение.ReadOnlyDoublePropertyworkDoneВозвращает ReadOnlyDoubleProperty, представляющий текущий прогресс.
-
Краткое описание вложенных классов
-
Вложенные классы/интерфейсы, унаследованные от интерфейса javafx.concurrent.Worker
Worker.State
-
-
Краткое описание конструкторов
Конструкторы Модификатор Конструктор Описание protectedService()Создает новый сервис.
-
Краткое описание методов
Все методыМетоды экземпляраАбстрактные методыКонкретные методы Модификатор и тип Метод Описание <T extends Event>
voidaddEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)Регистрирует фильтр событий для этой задачи.<T extends Event>
voidaddEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)Регистрирует обработчик событий для этой задачи.EventDispatchChainbuildEventDispatchChain(EventDispatchChain tail)Создаёт цепочку обработки событий для этой цели.booleancancel()Отменяет любую текущую выполняющуюся задачу, если она есть.protected voidcancelled()Защищённый вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние службы переходит в состояние CANCELLED.protected abstract Task<V>createTask()Вызывается после запуска службы в потоке JavaFX Application.ReadOnlyObjectProperty<Throwable>exceptionProperty()Получает ReadOnlyObjectProperty, представляющую любую произошедшую ошибку.protected voidexecuteTask(Task<V> task)Используетexecutor, определённый в этой службе, для выполнения заданной задачи.ObjectProperty<Executor>executorProperty()Исполнитель, который следует использовать для выполнения этой службы.protected voidfailed()Защищённый вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние службы переходит в состояние FAILED.protected voidfireEvent(Event event)Вызывает указанное событие.ThrowablegetException()Получает значение свойства exception.ExecutorgetExecutor()Получает значение свойства executor.StringgetMessage()Получает значение свойства message.EventHandler<WorkerStateEvent>getOnCancelled()Обработчик события onCancelled вызывается всякий раз, когда состояние задачи переходит в состояние CANCELLED.EventHandler<WorkerStateEvent>getOnFailed()Обработчик события onFailed вызывается всякий раз, когда состояние задачи переходит в состояние FAILED.EventHandler<WorkerStateEvent>getOnReady()Обработчик события onReady вызывается всякий раз, когда состояние задачи переходит в состояние READY.EventHandler<WorkerStateEvent>getOnRunning()Обработчик события onRunning вызывается всякий раз, когда состояние задачи переходит в состояние RUNNING.EventHandler<WorkerStateEvent>getOnScheduled()Обработчик события onSchedule вызывается всякий раз, когда состояние задачи переходит в состояние SCHEDULED.EventHandler<WorkerStateEvent>getOnSucceeded()Обработчик события onSucceeded вызывается всякий раз, когда состояние задачи переходит в состояние SUCCEEDED.doublegetProgress()Получает значение свойства progress.Worker.StategetState()Получает значение свойства state.StringgetTitle()Получает значение свойства title.doublegetTotalWork()Получает значение свойства totalWork.VgetValue()Получает значение свойства value.doublegetWorkDone()Получает значение свойства workDone.booleanisRunning()Получает значение свойства running.ReadOnlyStringPropertymessageProperty()Получает ReadOnlyStringProperty, представляющую сообщение.ObjectProperty<EventHandler<WorkerStateEvent>>onCancelledProperty()Обработчик события onCancelled вызывается всякий раз, когда состояние задачи переходит в состояние CANCELLED.ObjectProperty<EventHandler<WorkerStateEvent>>onFailedProperty()Обработчик события onFailed вызывается всякий раз, когда состояние задачи переходит в состояние FAILED.ObjectProperty<EventHandler<WorkerStateEvent>>onReadyProperty()Обработчик события onReady вызывается всякий раз, когда состояние задачи переходит в состояние READY.ObjectProperty<EventHandler<WorkerStateEvent>>onRunningProperty()Обработчик события onRunning вызывается всякий раз, когда состояние задачи переходит в состояние RUNNING.ObjectProperty<EventHandler<WorkerStateEvent>>onScheduledProperty()Обработчик события onSchedule вызывается всякий раз, когда состояние задачи переходит в состояние SCHEDULED.ObjectProperty<EventHandler<WorkerStateEvent>>onSucceededProperty()Обработчик события onSucceeded вызывается всякий раз, когда состояние задачи переходит в состояние SUCCEEDED.ReadOnlyDoublePropertyprogressProperty()Получает ReadOnlyDoubleProperty, представляющую прогресс.protected voidready()Защищённый вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние службы переходит в состояние READY.<T extends Event>
voidremoveEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)Отменяет ранее зарегистрированный фильтр событий из этой задачи.<T extends Event>
voidremoveEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)Отменяет ранее зарегистрированный обработчик событий из этой задачи.voidreset()Сбрасывает состояние службы.voidrestart()Отменяет любую текущую выполняющуюся задачу, если она есть, и перезапускает эту службу.
protected voidrunning()Защищённый вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние службы переходит в состояние RUNNING.ReadOnlyBooleanPropertyrunningProperty()Получает ReadOnlyBooleanProperty, представляющий, запущен ли Worker.protected voidscheduled()Защищённый вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние службы переходит в состояние SCHEDULED.protected <T extends Event>
voidsetEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)Устанавливает обработчик для этого типа события.voidsetExecutor(Executor value)Устанавливает значение свойства executor.voidsetOnCancelled(EventHandler<WorkerStateEvent> value)Обработчик события onCancelled вызывается всякий раз, когда состояние задачи переходит в состояние CANCELLED.voidsetOnFailed(EventHandler<WorkerStateEvent> value)Обработчик события onFailed вызывается всякий раз, когда состояние задачи переходит в состояние FAILED.voidsetOnReady(EventHandler<WorkerStateEvent> value)Обработчик события onReady вызывается всякий раз, когда состояние задачи переходит в состояние READY.voidsetOnRunning(EventHandler<WorkerStateEvent> value)Обработчик события onRunning вызывается всякий раз, когда состояние задачи переходит в состояние RUNNING.voidsetOnScheduled(EventHandler<WorkerStateEvent> value)Обработчик события onSchedule вызывается всякий раз, когда состояние задачи переходит в состояние SCHEDULED.voidsetOnSucceeded(EventHandler<WorkerStateEvent> value)Обработчик события onSucceeded вызывается всякий раз, когда состояние задачи переходит в состояние SUCCEEDED.voidstart()Запускает эту службу.ReadOnlyObjectProperty<Worker.State>stateProperty()Получает ReadOnlyObjectProperty, представляющий текущее состояние.protected voidsucceeded()Защищённый вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние службы переходит в состояние SUCCEEDED.ReadOnlyStringPropertytitleProperty()Получает ReadOnlyStringProperty, представляющий заголовок.ReadOnlyDoublePropertytotalWorkProperty()Получает ReadOnlyDoubleProperty, представляющий максимальное количество работы, которое необходимо выполнить.ReadOnlyObjectProperty<V>valueProperty()Получает ReadOnlyObjectProperty, представляющий значение.ReadOnlyDoublePropertyworkDoneProperty()Получает ReadOnlyDoubleProperty, представляющий текущий прогресс.
-
Подробное описание свойств
-
state
public final ReadOnlyObjectProperty<Worker.State> stateProperty
- Определено:
-
statePropertyв интерфейсеWorker<V> - См. также:
getState()
-
value
public final ReadOnlyObjectProperty<V> valueProperty
- Определено:
-
valuePropertyв интерфейсеWorker<V> - См. также:
getValue()
-
exception
public final ReadOnlyObjectProperty<Throwable> exceptionProperty
- Определено:
-
exceptionPropertyв интерфейсеWorker<V> - См. также:
getException()
-
workDone
public final ReadOnlyDoubleProperty workDoneProperty
- Определено:
-
workDonePropertyв интерфейсеWorker<V> - См. также:
getWorkDone()
-
totalWork
public final ReadOnlyDoubleProperty totalWorkProperty
- Определено:
-
totalWorkPropertyв интерфейсеWorker<V> - См. также:
getTotalWork()
-
progress
public final ReadOnlyDoubleProperty progressProperty
- Определено:
-
progressPropertyв интерфейсеWorker<V> - См. также:
getProgress()
-
running
public final ReadOnlyBooleanProperty runningProperty
- Определено:
-
runningPropertyв интерфейсеWorker<V> - См. также:
isRunning()
-
message
public final ReadOnlyStringProperty messageProperty
- Определено:
-
messagePropertyв интерфейсеWorker<V> - См. также:
getMessage()
-
title
public final ReadOnlyStringProperty titleProperty
- Определено:
-
titlePropertyв интерфейсеWorker<V> - См. также:
getTitle()
-
executor
public final ObjectProperty<Executor> executorProperty
Исполнитель, который необходимо использовать для запуска этого сервиса. Если исполнитель не указан, то для запуска сервиса будет создан и использован новый демонический поток с использованием некоторого исполнителя по умолчанию.- См. также:
-
getExecutor(),setExecutor(Executor)
-
onReady
public final ObjectProperty<EventHandler<WorkerStateEvent>> onReadyProperty
Обработчик события onReady вызывается всякий раз, когда состояние задачи переходит в состояние READY.- С:
- JavaFX 2.1
- См. также:
-
getOnReady(),setOnReady(EventHandler)
-
onScheduled
public final ObjectProperty<EventHandler<WorkerStateEvent>> onScheduledProperty
Обработчик события onSchedule вызывается всякий раз, когда состояние задачи переходит в состояние SCHEDULED.- С:
- JavaFX 2.1
- См. также:
-
getOnScheduled(),setOnScheduled(EventHandler)
-
onRunning
public final ObjectProperty<EventHandler<WorkerStateEvent>> onRunningProperty
Обработчик события onRunning вызывается всякий раз, когда состояние задачи переходит в состояние RUNNING.- С:
- JavaFX 2.1
- См. также:
-
getOnRunning(),setOnRunning(EventHandler)
-
onSucceeded
public final ObjectProperty<EventHandler<WorkerStateEvent>> onSucceededProperty
Обработчик события onSucceeded вызывается всякий раз, когда состояние задачи переходит в состояние SUCCEEDED.- С:
- JavaFX 2.1
- См. также:
-
getOnSucceeded(),setOnSucceeded(EventHandler)
-
onCancelled
public final ObjectProperty<EventHandler<WorkerStateEvent>> onCancelledProperty
Обработчик события onCancelled вызывается всякий раз, когда состояние задачи переходит в состояние CANCELLED.- С:
- JavaFX 2.1
- См. также:
-
getOnCancelled(),setOnCancelled(EventHandler)
-
onFailed
public final ObjectProperty<EventHandler<WorkerStateEvent>> onFailedProperty
Обработчик события onFailed вызывается всякий раз, когда состояние задачи переходит в состояние FAILED.- С:
- JavaFX 2.1
- См. также:
-
getOnFailed(),setOnFailed(EventHandler)
-
-
Подробное описание конструкторов
-
Service
protected Service()
Создать новый сервис.
-
-
Методы
-
getState
public final Worker.State getState()
Получает значение свойства state.
-
stateProperty
public final ReadOnlyObjectProperty<Worker.State> stateProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyObjectProperty, представляющий текущее состояние.- Указано:
-
statePropertyв интерфейсеWorker<V> - См. также:
getState()
-
getValue
public final V getValue()
Получает значение свойства value.
-
valueProperty
public final ReadOnlyObjectProperty<V> valueProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyObjectProperty, представляющий значение.- Указано:
-
valuePropertyв интерфейсеWorker<V> - См. также:
getValue()
-
getException
public final Throwable getException()
Получает значение свойства exception.- Указано:
-
getExceptionв интерфейсеWorker<V> - Описание свойства:
- Возвращает:
- исключение, если оно произошло
-
exceptionProperty
public final ReadOnlyObjectProperty<Throwable> exceptionProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyObjectProperty, представляющий любое произошедшее исключение.- Указано:
-
exceptionPropertyв интерфейсеWorker<V> - См. также:
getException()
-
getWorkDone
public final double getWorkDone()
Получает значение свойства workDone.- Указано:
-
getWorkDoneв интерфейсеWorker<V> - Описание свойства:
- Возвращает:
- объём проделанной работы
- См. также:
-
Worker.totalWorkProperty(),Worker.progressProperty()
-
workDoneProperty
public final ReadOnlyDoubleProperty workDoneProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyDoubleProperty, представляющий текущую степень выполнения.- Указано:
-
workDonePropertyв интерфейсеWorker<V> - См. также:
getWorkDone()
-
getTotalWork
public final double getTotalWork()
Получает значение свойства totalWork.- Указано:
-
getTotalWorkв интерфейсеWorker<V> - Описание свойства:
- Возвращает:
- общий объём работы
- См. также:
-
Worker.workDoneProperty(),Worker.progressProperty()
-
totalWorkProperty
public final ReadOnlyDoubleProperty totalWorkProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyDoubleProperty, представляющий максимальный объём работы, который требуется выполнить. Эти «единицы работы» имеют значение для реализации Worker, например, количество байтов, которые необходимо загрузить, или количество изображений для обработки, или какой-либо другой метрик.- Указано:
-
totalWorkPropertyв интерфейсеWorker<V> - См. также:
getTotalWork()
-
getProgress
public final double getProgress()
Получает значение свойства progress.- Указано:
-
getProgressв интерфейсеWorker<V> - Описание свойства:
- Возвращает:
- текущая степень выполнения
- См. также:
-
Worker.workDoneProperty(),Worker.totalWorkProperty()
-
progressProperty
public final ReadOnlyDoubleProperty progressProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyDoubleProperty, представляющий степень выполнения.- Указано:
-
progressPropertyв интерфейсеWorker<V> - См. также:
getProgress()
-
isRunning
public final boolean isRunning()
Получает значение свойства running.
-
runningProperty
public final ReadOnlyBooleanProperty runningProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyBooleanProperty, представляющий запущен ли Worker.- Указано:
-
runningPropertyв интерфейсеWorker<V> - См. также:
isRunning()
-
getMessage
public final String getMessage()
Получает значение свойства message.- Указано:
-
getMessageв интерфейсеWorker<V> - Описание свойства:
- Возвращает:
- текущее сообщение
-
messageProperty
public final ReadOnlyStringProperty messageProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyStringProperty, представляющий сообщение.- Указано:
-
messagePropertyв интерфейсеWorker<V> - См. также:
getMessage()
-
getTitle
public final String getTitle()
Получает значение свойства title.
-
titleProperty
public final ReadOnlyStringProperty titleProperty()
Описание скопировано из интерфейса:WorkerПолучает ReadOnlyStringProperty, представляющий заголовок.- Указано:
-
titlePropertyв интерфейсеWorker<V> - См. также:
getTitle()
-
setExecutor
public final void setExecutor(Executor value)
Устанавливает значение свойства executor.- Описание свойства:
- Исполнитель, используемый для запуска этого сервиса. Если исполнитель не указан, то для запуска сервиса будет создан и использован новый демонический поток с некоторым исполнителем по умолчанию.
-
getExecutor
public final Executor getExecutor()
Получает значение свойства executor.- Описание свойства:
- Исполнитель, используемый для запуска этого сервиса. Если исполнитель не указан, то для запуска сервиса будет создан и использован новый демонический поток с некоторым исполнителем по умолчанию.
-
executorProperty
public final ObjectProperty<Executor> executorProperty()
Исполнитель, используемый для запуска этого сервиса. Если исполнитель не указан, то для запуска сервиса будет создан и использован новый демонический поток с некоторым исполнителем по умолчанию.- См. также:
-
getExecutor(),setExecutor(Executor)
-
-
-
onReadyProperty
public final ObjectProperty<EventHandler<WorkerStateEvent>> onReadyProperty()
Обработчик события onReady вызывается всякий раз, когда состояние Task переходит в состояние READY.- С тех пор:
- JavaFX 2.1
- См. также:
-
getOnReady(),setOnReady(EventHandler)
-
getOnReady
public final EventHandler<WorkerStateEvent> getOnReady()
Обработчик события onReady вызывается всякий раз, когда состояние Task переходит в состояние READY.- Возвращает:
- обработчик события onReady, если таковой имеется
- С тех пор:
- JavaFX 2.1
-
setOnReady
public final void setOnReady(EventHandler<WorkerStateEvent> value)
Обработчик события onReady вызывается всякий раз, когда состояние Task переходит в состояние READY.- Параметры:
-
value- обработчик события, может быть null для очистки - С тех пор:
- JavaFX 2.1
-
ready
protected void ready()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние READY. Этот метод вызывается после того, как Service полностью перешел в новое состояние.- С тех пор:
- JavaFX 2.1
-
onScheduledProperty
public final ObjectProperty<EventHandler<WorkerStateEvent>> onScheduledProperty()
Обработчик события onSchedule вызывается всякий раз, когда состояние Task переходит в состояние SCHEDULED.- С тех пор:
- JavaFX 2.1
- См. также:
-
getOnScheduled(),setOnScheduled(EventHandler)
-
getOnScheduled
public final EventHandler<WorkerStateEvent> getOnScheduled()
Обработчик события onSchedule вызывается всякий раз, когда состояние Task переходит в состояние SCHEDULED.- Возвращает:
- обработчик события onScheduled, если таковой имеется
- С тех пор:
- JavaFX 2.1
-
setOnScheduled
public final void setOnScheduled(EventHandler<WorkerStateEvent> value)
Обработчик события onSchedule вызывается всякий раз, когда состояние Task переходит в состояние SCHEDULED.- Параметры:
-
value- обработчик события, может быть null для очистки - С тех пор:
- JavaFX 2.1
-
scheduled
protected void scheduled()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние SCHEDULED. Этот метод вызывается после того, как Service полностью перешел в новое состояние.- С тех пор:
- JavaFX 2.1
-
onRunningProperty
public final ObjectProperty<EventHandler<WorkerStateEvent>> onRunningProperty()
Обработчик события onRunning вызывается всякий раз, когда состояние Task переходит в состояние RUNNING.- С тех пор:
- JavaFX 2.1
- См. также:
-
getOnRunning(),setOnRunning(EventHandler)
-
getOnRunning
public final EventHandler<WorkerStateEvent> getOnRunning()
Обработчик события onRunning вызывается всякий раз, когда состояние Task переходит в состояние RUNNING.- Возвращает:
- обработчик события onRunning, если таковой имеется
- С тех пор:
- JavaFX 2.1
-
setOnRunning
public final void setOnRunning(EventHandler<WorkerStateEvent> value)
Обработчик события onRunning вызывается всякий раз, когда состояние Task переходит в состояние RUNNING.- Параметры:
-
value- обработчик события, может быть null для очистки - С тех пор:
- JavaFX 2.1
-
running
protected void running()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние RUNNING. Этот метод вызывается после того, как Service полностью перешел в новое состояние.- С тех пор:
- JavaFX 2.1
-
onSucceededProperty
public final ObjectProperty<EventHandler<WorkerStateEvent>> onSucceededProperty()
Обработчик события onSucceeded вызывается всякий раз, когда состояние Task переходит в состояние SUCCEEDED.- С тех пор:
- JavaFX 2.1
- См. также:
-
getOnSucceeded(),setOnSucceeded(EventHandler)
-
getOnSucceeded
public final EventHandler<WorkerStateEvent> getOnSucceeded()
Обработчик события onSucceeded вызывается всякий раз, когда состояние Task переходит в состояние SUCCEEDED.- Возвращает:
- обработчик события onSucceeded, если таковой имеется
- С тех пор:
- JavaFX 2.1
-
setOnSucceeded
public final void setOnSucceeded(EventHandler<WorkerStateEvent> value)
Обработчик события onSucceeded вызывается всякий раз, когда состояние Task переходит в состояние SUCCEEDED.- Параметры:
-
value- обработчик события, может быть null для очистки - С тех пор:
- JavaFX 2.1
-
succeeded
protected void succeeded()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние SUCCEEDED. Этот метод вызывается после того, как Service полностью перешел в новое состояние.- С тех пор:
- JavaFX 2.1
-
onCancelledProperty
public final ObjectProperty<EventHandler<WorkerStateEvent>> onCancelledProperty()
Обработчик события onCancelled вызывается всякий раз, когда состояние Task переходит в состояние CANCELLED.- С тех пор:
- JavaFX 2.1
- См. также:
-
getOnCancelled(),setOnCancelled(EventHandler)
-
getOnCancelled
public final EventHandler<WorkerStateEvent> getOnCancelled()
Обработчик события onCancelled вызывается всякий раз, когда состояние Task переходит в состояние CANCELLED.- Возвращает:
- обработчик события onCancelled, если таковой имеется
- С тех пор:
- JavaFX 2.1
-
setOnCancelled
public final void setOnCancelled(EventHandler<WorkerStateEvent> value)
Обработчик события onCancelled вызывается всякий раз, когда состояние Task переходит в состояние CANCELLED.- Параметры:
-
value- обработчик события, может быть null для очистки - С тех пор:
- JavaFX 2.1
-
cancelled
protected void cancelled()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние CANCELLED. Этот метод вызывается после того, как Service полностью перешел в новое состояние.- С тех пор:
- JavaFX 2.1
-
onFailedProperty
public final ObjectProperty<EventHandler<WorkerStateEvent>> onFailedProperty()
Обработчик события onFailed вызывается всякий раз, когда состояние Task переходит в состояние FAILED.- С тех пор:
- JavaFX 2.1
- См. также:
-
getOnFailed(),setOnFailed(EventHandler)
-
getOnFailed
public final EventHandler<WorkerStateEvent> getOnFailed()
Обработчик события onFailed вызывается всякий раз, когда состояние Task переходит в состояние FAILED.- Возвращает:
- обработчик события onFailed, если таковой имеется
- С тех пор:
- JavaFX 2.1
-
setOnFailed
public final void setOnFailed(EventHandler<WorkerStateEvent> value)
Обработчик события onFailed вызывается всякий раз, когда состояние Task переходит в состояние FAILED.- Параметры:
-
value- обработчик события, может быть null для очистки - С тех пор:
- JavaFX 2.1
-
failed
protected void failed()
Защищенный вспомогательный метод для подклассов, вызываемый всякий раз, когда состояние Service переходит в состояние FAILED. Этот метод вызывается после того, как Service полностью перешел в новое состояние.- С тех пор:
- JavaFX 2.1
-
cancel
public boolean cancel()
Отменяет любую выполняющуюся в данный момент Task, если таковая имеется. Состояние будет установлено в CANCELLED.
-
restart
public void restart()
Отменяет любую выполняющуюся в данный момент Task, если таковая имеется, и перезапускает эту Service. Состояние будет сброшено в READY перед выполнением. Этот метод следует вызывать только в потоке приложения FX.
-
-
reset
public void reset()
Сбрасывает сервис. Может вызываться только в одном из завершающих состояний, то есть, УСПЕШНО, НЕУДАЧНО или ОТМЕНЕНО, или при состоянии ГОТОВНО. Этот метод должен вызываться только на потоке приложения FX.
-
start
public void start()
Запускает этот сервис. Сервис должен быть в состоянии ГОТОВНО, чтобы вызов был успешным. Этот метод должен вызываться только на потоке приложения FX.
-
executeTask
protected void executeTask(Task<V> task)
Использует
executor, определённое в этом сервисе, для выполнения заданной задачи. Еслиexecutorравно null, тогда используется по умолчанию, который создаст новый демонический поток для выполнения этой задачи.Этот метод предназначен только для вызова реализацией сервиса.
- Parameters:
-
task- непустая задача для выполнения - Since:
- JavaFX 2.1
-
addEventHandler
public final <T extends Event> void addEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
Регистрирует обработчик событий для этой задачи. Любые фильтры событий обрабатываются сначала, затем указанные обработчики событий onFoo, а затем любые обработчики событий, зарегистрированные этим методом. Как и в случае с другими событиями в графе сцены, если событие потребляется, оно не будет продолжать распространяться.- Type Parameters:
-
T- конкретный класс события для обработчика - Parameters:
-
eventType- тип событий, принимаемых обработчиком -
eventHandler- обработчик для регистрации - Throws:
-
NullPointerException- если тип события или обработчик равен null - Since:
- JavaFX 2.1
-
removeEventHandler
public final <T extends Event> void removeEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
Удаляет ранее зарегистрированный обработчик событий из этой задачи. Один обработчик может быть зарегистрирован для разных типов событий, поэтому вызывающий должен указать конкретный тип события, из которого необходимо удалить обработчик.- Type Parameters:
-
T- конкретный класс события для обработчика - Parameters:
-
eventType- тип события, из которого нужно удалить -
eventHandler- обработчик для удаления - Throws:
-
NullPointerException- если тип события или обработчик равен null - Since:
- JavaFX 2.1
-
addEventFilter
public final <T extends Event> void addEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
Регистрирует фильтр событий для этой задачи. Зарегистрированные фильтры событий получают событие до любых связанных обработчиков событий.- Type Parameters:
-
T- конкретный класс события для фильтра - Parameters:
-
eventType- тип событий, принимаемых фильтром -
eventFilter- фильтр для регистрации - Throws:
-
NullPointerException- если тип события или фильтр равен null - Since:
- JavaFX 2.1
-
removeEventFilter
public final <T extends Event> void removeEventFilter(EventType<T> eventType, EventHandler<? super T> eventFilter)
Удаляет ранее зарегистрированный фильтр событий из этой задачи. Один фильтр может быть зарегистрирован для разных типов событий, поэтому вызывающий должен указать конкретный тип события, из которого необходимо удалить фильтр.- Type Parameters:
-
T- конкретный класс события для фильтра - Parameters:
-
eventType- тип события, из которого нужно удалить -
eventFilter- фильтр для удаления - Throws:
-
NullPointerException- если тип события или фильтр равен null - Since:
- JavaFX 2.1
-
setEventHandler
protected final <T extends Event> void setEventHandler(EventType<T> eventType, EventHandler<? super T> eventHandler)
Устанавливает обработчик для использования для этого типа события. Одновременно может быть указан только один такой обработчик. Этот обработчик гарантированно вызывается первым. Используется для регистрации пользовательских обработчиков событий onFoo.- Type Parameters:
-
T- конкретный класс события для обработчика - Parameters:
-
eventType- тип события, который нужно связать с данным eventHandler -
eventHandler- обработчик для регистрации или null для удаления - Throws:
-
NullPointerException- если тип события равен null - Since:
- JavaFX 2.1
-
fireEvent
protected final void fireEvent(Event event)
Вызывает указанное событие. Любой встреченный фильтр событий будет уведомлен и может потреблять событие. Если не потребляется фильтрами, то уведомляются обработчики событий в этой задаче. Если эти обработчики тоже не потребляют событие, то вызываются все обработчики событий и могут потреблять событие.Этот метод должен вызываться на потоке FX пользователя.
- Parameters:
-
event- событие для вызова - Since:
- JavaFX 2.1
-
buildEventDispatchChain
public EventDispatchChain buildEventDispatchChain(EventDispatchChain tail)
Описание скопировано из интерфейса:EventTargetСтроит цепочку обработки событий для этого объекта. Цепочка обработки событий содержит обработчики событий, которые могут быть заинтересованы в обработке событий, нацеленных на этотEventTarget. Этот объект-цель события не добавляется в цепочку автоматически, поэтому, если он хочет обрабатывать события, ему нужно добавитьEventDispatcherдля себя в цепочку.В случае, если объект-цель события является частью иерархии, цепочка для него обычно строится из обработчиков событий, собранных от корня иерархии до объекта-цели.
Цепочка обработки событий строится путём модификации предоставленной начальной цепочки обработки событий. Возвращаемая цепочка должна иметь начальную цепочку в конце, поэтому обработчики должны быть добавлены перед начальной цепочкой.
Вызывающий не должен предполагать, что исходная цепочка останется неизменной или что возвращаемое значение будет ссылаться на другую цепочку.
- Specified by:
-
buildEventDispatchChainin interfaceEventTarget - Parameters:
-
tail- начальная цепочка, на основе которой нужно построить - Returns:
- результирующая цепочка обработки событий для этого объекта
-
createTask
protected abstract Task<V> createTask()
Вызывается после запуска службы в потоке приложения JavaFX. Реализации должны сохранять все состояния в постоянных переменных до создания задачи, поскольку обращение к свойствам, определённым в службе внутри кода задачи в фоновом потоке, приведёт к исключениям. Например:protected Task createTask() { final String url = myService.getUrl(); return new Task<String>() { protected String call() { URL u = new URL("http://www.oracle.com"); BufferedReader in = new BufferedReader( new InputStreamReader(u.openStream())); String result = in.readLine(); in.close(); return result; } } }Если задача - это предопределённый класс (в отличие от анонимного класса), и если она соблюдала рекомендуемые лучшие практики, то нет необходимости сохранять состояние перед построением задачи, так как её состояние полностью предоставляется в её конструкторе.
protected Task createTask() { // This is safe because getUrl is called on the FX Application // Thread and the FirstLineReaderTasks stores it as an // immutable property return new FirstLineReaderTask(myService.getUrl()); }- Returns:
- задача для выполнения
-
© 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.