javafx服务中长时间运行的任务会导致绑定元素中的更新消息闪烁



我有一个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()方法中将初始消息文本设置为任务?

最新更新