我有一个javfx服务,可以进行一些网络调用。
public class ConnectionChecker extends Service<String> {
...
@Override
protected Task<String> createTask() {
return new Task<String>() {
@Override
protected String call() throws Exception {
// some expensive message calls here
updateMessage("connection established");
}
};
}
}
在另一点上,我将消息绑定到标签:
headerLabel.textProperty().bind(service.messageProperty());
我现在看到的是,只要服务运行,标签就会失去价值。该服务在ScheduledThreadPoolExecutor
中定期调用。有没有人知道为什么在执行任务时有界值为空?
答案 0 :(得分:0)
默认任务消息为空。服务启动时它必须服务消息。所以它看起来像默认的空任务消息更新标签文本。您是否尝试在createTask()方法中将初始消息文本设置为任务?