JavaFX服务启动时的触发器事件
我想在服务启动时执行Java代码,但我找不到合适的Java方法:JavaFX服务启动时的触发器事件,javafx,javafx-2,javafx-8,Javafx,Javafx 2,Javafx 8,我想在服务启动时执行Java代码,但我找不到合适的Java方法: service.setOnRunning(new EventHandler<WorkerStateEvent>() { @Override public void handle(WorkerStateEvent t) { Start some logic } }); service.setOnSucceeded(new EventHandler<WorkerSt
service.setOnRunning(new EventHandler<WorkerStateEvent>()
{
@Override
public void handle(WorkerStateEvent t)
{
Start some logic
}
});
service.setOnSucceeded(new EventHandler<WorkerStateEvent>()
{
@Override
public void handle(WorkerStateEvent t)
{
Stop some logic
}
});
service.setOnRunning(新的EventHandler()
{
@凌驾
公共无效句柄(WorkerStateT事件)
{
开始一些逻辑
}
});
setOnSucceeded(新的EventHandler()
{
@凌驾
公共无效句柄(WorkerStateT事件)
{
停止一些逻辑
}
});
如何在服务启动时只调用一次Java方法?您可以轻松控制
服务
启动时间,因此没有特殊的方法
只需将希望在开始时运行的任何代码添加到call
方法:
private class MyService extends Service<Void> {
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
// "onStart" code
System.out.println("Service started");
// actual service code
//do stuff
return null;
}
};
}
}
私有类MyService扩展服务{
@凌驾
受保护的任务createTask(){
返回新任务(){
@凌驾
受保护的Void调用()引发异常{
//“onStart”代码
System.out.println(“服务已启动”);
//实际服务代码
//做事
返回null;
}
};
}
}
这些方法确实存在,您的问题是什么?