gpt4 book ai didi

asynchronous - 从 Task.onSucceeded() 访问 GUI 元素是否安全?

转载 作者:行者123 更新时间:2023-12-04 05:32:05 24 4
gpt4 key购买 nike

我正在使用 Task 进行一些计算,该计算的输出存储为一个字符串。计算完成后,输出应显示在 TextArea 中。使用 Task 的 onSucceeded 安全吗?用于设置 TextArea 的文本?如果没有,等待任务完成然后将输出写入 TextArea 的最佳/推荐方法是什么?

感谢任何提示:-)

最佳答案

是的,请参阅 Task 中的引述 javadoc :

Because the Task is designed for use with JavaFX GUI applications, it ensures that every change to its public properties, as well as change notifications for state, errors, and for event handlers, all occur on the main JavaFX application thread.

您可以使用下一个代码自行验证此类情况:

task.setOnSucceeded(new EventHandler<WorkerStateEvent>() {

@Override
public void handle(WorkerStateEvent t) {
System.out.println(Thread.currentThread().getName());
}
});

输出应该是:

JavaFX Application Thread

关于asynchronous - 从 Task.onSucceeded() 访问 GUI 元素是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16820250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com