【发布时间】:2013-10-05 15:51:18
【问题描述】:
我目前正在通过Concurrency API JavaFX 提供我的业务逻辑。但是有一个部分我偶然发现,我觉得 干净。
基本上,如果您创建一个可能看起来像这样的服务
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 的值转换为(Foo)。有什么更干净的方法吗?
【问题讨论】:
标签: service concurrency event-handling javafx-2 task