コアモジュールを他のプラットフォームのバージョンと共有するアプリケーションのUIを作成しています。JavaFXでは、sを使用してバックグラウンドで処理を実行しようとして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();
}
};
}
私のUIスレッドでは、グラフUIを更新するために次のようなことを実行できるようにしたいと思います。
loginTask.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent t) {
// perform an UI update here depending on the state t
}
});
どのように状態を設定する必要がありますか?TaskAPIではそれを行うものは何もありません。