swing 中的 javafx 异常“工具包未初始化”

2023-12-21

我读过这篇文章:JavaFx 2.x - Swing:不在 FX 应用程序线程上 https://stackoverflow.com/questions/12182592/javafx-2-x-swing-not-on-fx-application-thread/12202749#12202749

参考“ 线程“AWT-EventQueue-0”java.lang.IllegalStateException 中出现异常:工具包未初始化”

我在这里找到了一个讨论JavaFX 2.1:工具包未初始化 https://stackoverflow.com/questions/11273773/javafx-2-1-toolkit-not-initialized

但我无法使用该解决方案

“在 Swing 事件调度线程中实例化 JFXPanel:”

因为它保持未定义的时间等待。

我在 JDesktopPane 中使用 JInternalFrame 时遇到同样的问题。

我试过了:

final CountDownLatch latch = new CountDownLatch(1);
SwingUtilities.invokeLater(new Runnable() {
  @Override
  public void run() {
    final JFXPanel javafxPanel = new JFXPanel();
    latch.countDown();       
    BorderPane pane = new BorderPane();
    javafxPanel.setScene( new Scene(pane) {
      Text text = new Text("Hello World");            
    });
    frame.getContentPane().add(javafxPanel, BorderLayout.CENTER);
  }
});        
this.add(frame);
try {
    latch.await();
} catch (InterruptedException ex) {
    System.out.println("err");
    Logger.getLogger(WorkspacePanel.class.getName()).log(Level.SEVERE, null,     ex);
}

其中,frame 是 JInternalFrame,这是 JDesktopPane。

有什么帮助吗?提前致谢。


因为它保持未定义的时间等待。

这种等待可能是由于latch。如果您发布的代码在事件调度线程上触发,则latch.await()呼叫将阻止 EDT 并确保Runnable您在 EDT 上发布的内容永远不会执行,因此latch.countDown()声明从未达成。您可以使用以下方法快速检查这一点EventQueue.isDispatchThread.

我强烈建议简单地删除CountDownLatch,就像在另一个上运行该代码一样Thread不是一个选项,因为您正在使用 Swing 组件,应该在事件调度线程上访问/修改/创建/...。

此外,一旦您删除了闩锁,您将遇到与链接问题 https://stackoverflow.com/q/12182592/1076463. The

javafxPanel.setScene( new Scene(pane) {
  Text text = new Text("Hello World");            
});

必须在 JavaFX 线程上执行,而不是在事件调度线程上执行。看我的答案 https://stackoverflow.com/a/12184250/1076463关于如何解决这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

swing 中的 javafx 异常“工具包未初始化” 的相关文章

随机推荐

  • 如何使用 JHipster 和 Hibernate Envers

    我无法弄清楚如何使用 Hibernate Envers 和 JHipster 我使用 PostgreSQL 来存储数据 最新的 Jhipster 2 6 0 我刚刚生成了一个 JHipster 应用程序 没有任何修改 User 域类扩展了
  • shell whoami 不等于 php shell_exec whoami?

    在 shell 中 我执行简单的 whoami 操作 然后得到 geoff 这很好 因为这就是我 在 php 文件中 我有 shell exec whoami 我没有得到任何人 在我看来 这似乎是一个差异 可以解释我最初的问题 imagem
  • PHP从3个变量中获取最大的数字[重复]

    这个问题在这里已经有答案了 可能的重复 返回具有最高值的变量 https stackoverflow com questions 5737305 return variable with the highest value 我试图想出一种简
  • Rails - 如何“合并”或将值附加到 URL 内的数组?

    我正在尝试在 URL 中传递一个数组 该数组工作正常 但我想知道如何插入或删除某些值 例如 我有一个链接 如下所示 http localhost 3000 pins genre ids 1 2 3 我想构建一组可以在此 URL 数组中插入或
  • 在 ASP.NET 内部运行 ASP.NET MVC 时,会话为 NULL

    如果我创建一个 ASP NET Web 应用程序项目 然后使用像这样定义的默认路由向其添加 ASP NET MVC 2 routes MapRoute Default Route name controller action id URL
  • 使用 JS 检测 MacOS、iOS、Windows、Android 和 Linux 操作系统 [重复]

    这个问题在这里已经有答案了 如何使用 JavaScript 检测 MacOS X iOS Windows Android 和 Linux 操作系统 我学到了很多关于window navigator对象及其属性 platform appVer
  • 客户端 JavaScript 应用程序和服务器端 HTTP API 之间的身份验证?

    我已经构建了一些通过 HTTP 工作的服务器端 API 仅适用于我的客户端应用程序 那么 是否可以在客户端和服务器端之间对应用程序进行身份验证 以及如何做 有两种选择 Sessions HTTP认证 会话背后的想法是 服务器向客户端发送一个
  • 使用 MS Graph API C# 读取用户电子邮件

    我正在尝试使用 MS Graph API 读取特定邮箱中的电子邮件 var client await GetClient getting a client with client id secret var users await clie
  • ASP.Net 转发器 item.DataItem 为 null

    在网页中 加载时 我用两个表填充数据集以及这些表之间的关系 然后将数据加载到具有嵌套转发器的转发器中 用户单击按钮后也可能发生这种情况 数据从 SQL 数据库加载 转发器数据源设置为回发后的数据集 但是 当 ItemDataBound 发生
  • 甲骨文。在两个过程中重用游标作为参数

    让我们创建两个测试程序 CREATE OR REPLACE PROCEDURE Aaaa Test1 pDog SYS REFCURSOR IS TYPE tDogRec is record objid varchar2 7 lim num
  • 布局类似于放射状菜单

    我必须设计这样的东西并为每个块添加点击事件 我应该如何继续 任何人都可以指导我吗 我知道现在回复已经太晚了 但这适用于那些现在在项目中需要此类功能的开发人员 看看这个演示项目github https github com beaucolli
  • 如何拒绝来自 iframe 的网站访问?

    我注意到一些网站出于安全原因拒绝从 iFrame 访问其注册和登录页面 我认为这是个好主意 我想知道他们需要什么设置才能做到这一点 因为我想在我的网站上做同样的事情 该网站是用 Java 构建的 并在 Apache Tomcat 上运行 如
  • 在 64 位 VBA 中使用 TaskDialogIndirect

    问题描述 我尝试让代码在 64 位 VBA 下工作 而在 32 位 VBA 下工作正常 它与通用控件任务对话框有关 我使用 Microsoft Access 但问题在其他 VBA 主机中应该是相同的 一个部分在 32 位和 64 位 VBA
  • Html.ImageGetter

    任何人都可以帮我解决如何使用 Html ImageGetter 使用 html 图像 src 标签显示图像吗 和例子或很好的教程 要首先从文本文件中的应用程序资源获取图像 请插入一个 html 图像标签 如下所示 img src my im
  • C# - 检查给定的 url 是文件还是目录?

    我有一个方法可以输入 http ftp 或本地路径 通过输入 url 我需要确定它是文件还是目录 Path GetExtension url 几乎可以正常工作 但如果目录以 有 开头以它的名字命名 那么这个检查就会失败 还有其他方法可以检查
  • Pylint 错误消息:“E1101:模块‘lxml.etree’没有‘strip_tags’成员’”

    我正在尝试lxml http lxml de 第一次使用 python 进行个人项目 我正在尝试使用 etree strip tags 从一些源代码中剥离标签 https stackoverflow com questions 468131
  • 有没有办法将资源的属性解析延迟到“执行”阶段?

    我有两个 LWRP 第一个涉及创建磁盘卷 对其进行格式化并将其安装在虚拟机上 我们将此称为资源cloud volume 第二个资源 它的作用并不重要 需要新格式化卷的 UUID 这是必需的属性 我们将调用此资源foobar 资源cloud
  • 如何检测两个 Golang net.IPNet 对象是否相交?

    如何检测两个Golang之间是否存在交集网络 IPNet https golang org pkg net IPNet物体 也就是如何检查both如果第一个网络是第二个网络的子网OR如果第二个网络是第一个网络的子网 Go 是否提供了任何实用
  • 绘制显示颗粒百分比的等高线

    我试图制作类似于此图的内容 这是一个等值线图 代表两个数据集中包含的 68 95 99 7 的颗粒 到目前为止 我已经尝试实现高斯 KDE 估计 并将这些粒子高斯绘制在轮廓上 文件添加到这里https www dropbox com sh
  • swing 中的 javafx 异常“工具包未初始化”

    我读过这篇文章 JavaFx 2 x Swing 不在 FX 应用程序线程上 https stackoverflow com questions 12182592 javafx 2 x swing not on fx application