Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一些代码,当它执行时,它会抛出一个 RuntimeException,说:
JXBrowser should only be constructed on the EDT
它源于我创建 JXbrowser 组件时
browser = (JXBrowser) browserFactory.create(true, WebBrowserType.JX);
在修复此错误时我应该寻找什么?
JxBrowser 从版本 7 开始放弃了这个要求。
在 JxBrowser 7 中,您可以在任何线程中Engine进行初始化。Browser这些操作很繁重,最好不要在 EDT 中进行。
Engine
Browser
创建浏览器后,您需要BrowserView根据 Swing 规则在 EDT 内创建并将其添加到您的界面中。
BrowserView
JavaFX (OpenJFX)不是线程安全的。
与Swing、Vaadin和大多数其他用户界面框架一样,您必须仅在专用于该框架的一个线程内限制对小部件和其他 UI 相关对象的所有访问和操作。
显然,您的应用程序正在启动其他线程,然后对它们执行 JavaFX 工作。永远不要这样做。
您可以通过多种方式在后台线程上执行冗长的任务,然后在完成后向 UI 线程发布请求以使用结果更新 UI 小部件。但是您必须学习以学习这些技术。
请参阅本教程和本教程。