gpt4 book ai didi

javafx - 在 Swing 应用程序中创建 JavaFX 组件只工作一次

转载 作者:行者123 更新时间:2023-12-04 13:48:09 25 4
gpt4 key购买 nike

我有一个大型 Swing 应用程序,我想在其中使用一些较新的 JavaFX 组件。在一种情况下,我有一个正在实例化和显示的 Swing JDialog,在该对话框中我放置了一个 JFXPanel() 来托管 JavaFX 内容。

第一次通过该应用程序时,它运行良好,但第二次返回对话框(在应用程序的同一次运行期间)我的所有 JavaFX 内容都没有出现。没有抛出异常,只是......什么也没发生。

最佳答案

我最初以为是有什么东西阻止了我为构建 JavaFX 组件而进行的 Platform.runLater() 调用,但现在我认为整个 JavaFX 平台默默地自杀了,并且(更重要的是)拒绝在再次调用父对话框。

添加 Platform.setImplicitExit(false) 解决了这个问题。我认为这是因为,当父对话框关闭时,唯一现有的 JavaFX 阶段(EmbeddedWindow)也关闭,然后终止 JavaFX 线程。我原以为随后调用 Platform 或 new JFXPanel() 会“重新唤醒”JavaFX,但这似乎没有发生。

关于javafx - 在 Swing 应用程序中创建 JavaFX 组件只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31753959/

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