Я создаю пользовательский интерфейс для своего приложения, которое разделяет основной модуль с версиями для других платформ. В JavaFX я пытаюсь использовать Task
делать что-то в фоновом режиме, но я не могу понять, как обновить состояние задачи.
Это то, что я пытаюсь сделать. Переменная user
содержит экземпляр класса, который выполняет xmlrpc запросы:
public Task<Integer> doLogin()
{
return new Task<Integer>() {
@Override
protected Integer call()
{
user.login();
if (!user.getIsAuthorized())
{
// set the state to FAILED
}
else
{
// set the state to SUCCEDED
}
user.remember();
}
};
}
В моем потоке пользовательского интерфейса я хочу иметь возможность сделать что-то подобное, чтобы обновить свой графический интерфейс:
loginTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent t) {
// perform an UI update here depending on the state t
}
});
Как я должен установить состояние? Ничего подобного в Task API нет.