現在、 JavaFX が提供する同時実行APIを介してビジネス ロジックをディスパッチしています。しかし、私がつまずいた部分が1つあり、私にはきれいに感じられません。
基本的に、次のようなサービスを作成すると
public class FooCommand extends Service<Foo> {
@Override protected Task<Foo> createTask() {
return new Foo();
}
}
そして私はonSucceeded
FooCommand fooCommand = CommandProvider.get(FooCommand.class);
fooCommand.setOnSucceeded(new FooSucceededHandler());
fooCommand.start();
このクラスのインスタンスに
public class FooSucceededHandler implements EventHandler<WorkerStateEvent> {
@Override public void handle(WorkerStateEvent event) {
Foo f = (Foo) event.getSource().getValue();
}
}
しかし、ご覧のとおり、Worker
toの値をキャストする必要があります(Foo)
。それを行うためのよりクリーンな方法はありますか?