gpt4 book ai didi

java - 如何重用/编辑已添加到 JavaFX 场景中的组对象

转载 作者:行者123 更新时间:2023-11-30 07:27:23 24 4
gpt4 key购买 nike

我从 JavaFX 入手,但遇到了性能问题。我将尝试解释而不是粘贴代码,因为它太长而且不集中。

我启动了我的应用程序,调用了启动方法并收到了 Stage 对象。到现在为止,这一切都很好。

现在我开始使用群组创建我的结构。我创建了我的第一个组(我们称之为“A”)并在舞台上使用 setRoot() 对其进行设置。然后创建其他 3 个组(每个组都具有复杂的叶子结构)并将每个组添加为第一个组(我们称为“A”的组)的子组。

问题:我只想更新其中一个 Group 结构,而不是全部更新,然后在 Stage 对象上再次调用 setRoot()。- 但是,如果我尝试将其从父项中删除,则会出现异常“java.lang.IllegalStateException:不在 FX 应用程序线程上;”。- 如果我尝试将它放在另一个组中,我仍然会遇到相同的异常。

有什么方法可以重用我已经制作的组,或者只是替换我需要重新制作的组?

我尽量解释我的问题,但由于英语不是我的母语,我希望你能理解 ;)

提前致谢...

最佳答案

不在 FX 应用程序线程上; 表示您在错误的线程上运行 UI 操作。修改 UI 应该只在 UI 线程(也称为“FX 应用程序线程”)上发生,否则将无法同步 UI 操作。要实现这一点,请使用下一个代码:

Platform.runLater(new Runnable() {
public void run() {
A.getChildren().clear(); // or whatever operation you need
}
});

其中 Platformjavafx.application.Platform

关于java - 如何重用/编辑已添加到 JavaFX 场景中的组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763711/

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