当前位置: 首页 > 知识库问答 >
问题:

在JFrame中处理javaFX webengine

曹普松
2023-03-14

我的JFrame中有一个web浏览器,我想我无法让它在退出应用程序时处理它。

以下是我试图实现这一目标的代码:

Platform.runLater(new Runnable() {
    @Override
    public void run() {
        webBrowserEngine.getLoadWorker().cancel();
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                Platform.exit();
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        getMainFrame().dispose(); // Is set to dispose on close
                        // SwingUtilities.invokeLater(new Runnable() {
                            // @Override
                            // public void run() {
                                // System.exit(0);
                            // }
                        // });
                    }
                });
            }
        });
    }
});

窗口关闭,但java进程保持不变,这一行总是返回false:

webBrowserEngine.getLoadWorker().cancel();

共有1个答案

祖麻雀
2023-03-14
Platform.exit();

强制FXApplicationRead终止。与之相关的一切最终都会确定下来。您可以通过扩展和覆盖WebEngine类来测试这一点,以便在finalize()触发器上以不同的方式处理某些内容。

此外,还存在与WebEngine本身中的url处理例程相关的自我处置器的实现。

此外,WebEngine还处理一些用于资源处理的URLloader。因为它们在DLL中,所以擦除起来有点奇怪。。。太土了。

这会导致我遇到一堆内存访问冲突异常,需要进行逻辑处理。

 类似资料:
  • 我有一个关于JFrames和正确处理它们的快速问题。我有一个有多个关卡的游戏,我希望在使用新关卡创建另一个关卡时处理使用中的框架。 我目前正在开发的程序扩展了一个JFrame,这一直让我感到困惑,因为我不知道那个JFrame叫什么。 无论如何,我有另一个扩展JPanel的类。在这个类中,我有一个方法,当游戏状态完成时,删除所有实例并关闭JFrame。然而这不起作用,因为我无法获取框架的框架,相反,

  • 如何从另一个类中处理?下面列出了我的代码。 处置类别: <代码>主窗口。main\u f.dispose()不起作用,因为它不是变量。你能帮助我吗?

  • 可以使用另一个jFrame的按钮来处理jFrame吗?如果可能的话,这些代码在netbeans中应该是什么样子?

  • 问题内容: 从其他线程(而不是EDT)调用JFrame的dispose()方法是否安全? 问题答案: 否。它可能会起作用,也可能会引起问题。只需将方法包装在SwingUtilities.invokeLater(…)中,不必担心。

  • 我主要是为技术精明的人编写一个小工具,例如程序员、工程师等,因为这些工具通常是快速的,随着时间的推移,我知道会有未处理的异常,用户不会介意。我希望用户能够向我发送回溯,这样我就可以检查发生了什么,并可能改进应用程序。 我通常做wxPython编程,但我最近做了一些Java。我已经将

  • 我意识到在窗口中添加一个与“X”功能完全相同的按钮是毫无意义的,但我已经计算出了按钮在GUI上的位置,并发现拥有退出按钮除了占位符之外,还可以让事情变得更容易。我喜欢这种练习。 好吧,不管怎样,继续前进。 我有一个父JFrame(实际上是主类),我希望在程序运行的整个过程中保持开放运行。这不是我的问题。我的问题是在打开子JFrame时。我在主类中实例化了它(它添加了一个我创建的面板组件),但我只是