2023-02-15 274
我目前正在使用JXBrowser 6.2的评估许可证.
我正在创建browserview如下:
Browser browser = new Browser(BrowserType.HEAVYWEIGHT);
BrowserView browser_view = new BrowserView(browser);
我正在附加浏览组件,如下所示:
stage.setScene(new Scene(browser_view));
如果将浏览器配置为以轻质模式运行,我可以执行:
browser_view.getBrowser().dispose();
Platform.exit();
但是,如果将浏览器配置为重量级模式下操作,则执行时该应用程序悬挂:
browser_view.getBrowser().dispose();
我可以在日志中看到distose消息的写入,但似乎JXBrowser Chromium过程永远不会接收/处理消息.
有什么想法?
正如我面前回答的解决方案是隐藏舞台后处理浏览器(关闭).
一种好方法是将这些命令放在Javafx应用程序的stop()方法上.
因此,无论哪种方式,您都可以关闭窗口(通过调用Platform.exit()单击关闭按钮或编程),浏览器将处置(整个应用程序都将完成并退出).
类似的东西:
@Override
public void stop() throws Exception {
stage.hide();
browser.dispose();
}
作为参考,我使用了此处描述的配置链接(部分:9.弹出窗口).
Platform.runLater(() -> {
browser.dispose();
});
Platform.runLater(() -> {
stage.close();
});
看来您需要确保舞台在呼叫处置之前已关闭.
stage.close();
browser_view.getBrowser().dispose();
Platform.exit();
以上所述是小编给大家介绍的JxBrowser重量级处理WINDOW\u CLOSE\u请求,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33722.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态