我有一个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());
我现在看到的是,只要服务在运行,标签就会失去它的价值。该服务在CCD_ 1中被周期性地调用。有人知道为什么在执行任务的时间内,有界值是空的吗?
默认任务消息为空。当服务启动时,它绑定到服务消息。所以看起来默认的空任务消息会以这种方式更新标签文本。您是否尝试在createTask()方法中将初始消息文本设置为任务?