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 异常“工具包未初始化” 的相关文章

  • Grizzly 和 Servlet 容器上下文

    我试图在我编写的 在 Grizzly 上运行的 Servlet 中获取一些注入的上下文 例如 Session 或 HttpServletRequest 但我所做的似乎都不起作用 整个过程似乎过早地停止了 并出现以下错误 SEVERE Mis
  • 使用 Jersey Client 忽略自签名 ssl 证书 [重复]

    这个问题在这里已经有答案了 我正在使用 Jersey 客户端库对 jboss 上运行的其余服务运行测试 我使用自签名证书在服务器上正确设置了 https 在本地主机上运行 但是 每当我使用 https url 运行测试时 都会收到以下错误
  • 如何安装 C++ 的 VOCE?

    我正在尝试安装 VOCE api 它是为 C 和 Java 构建的语音识别 API 这是我第二次使用外部 C 库 也是第一次使用 Java C api 语音链接 http voce sourceforge net http voce sou
  • 无法让远程 EJB 与 Wildfly 上的 EJB 客户端 API 配合使用

    我目前正在努力让远程 EJB 调用在 wildfly 8 x 和 9 x 上工作 详细来说 它是关于使用 EJB 客户端 API 方法从独立客户端应用程序 而不是从另一个应用程序服务器 进行远程调用 远程命名方法适用于我 但不适用于我的场景
  • 如何限制用户键入时 JTextPane 中的字符数 (Java)

    我需要不允许在输入 X 后输入任何字符 我需要在输入 X 个字符后发出蜂鸣声 我知道如何在用户按 Enter 键后执行此操作 但我需要在用户按 Enter 键之前执行此操作 我从 Oracle 站点找到的方法是将 DocumentSizeF
  • 寻找 WebElements,最佳实践

    在我们当前的自动化 使用 Selenium WebDriver Java 中 我们使用 FindBy very广泛地 例如 FindBy css a name bcrumb protected List
  • 将位于 jar 中的文件读取为 java.io.File 对象

    与此类似的问题已发布 但似乎没有一个答案对我的情况有帮助 我正在编写一个程序包 它使用 Google 的凭据来获取 Google Apps 用户 为此 我使用服务帐户 因此为了检索凭据 我需要提供 除其他外 一个 p12 签名文件 Cred
  • 如何使用 JAVA 和 ADB 命令检查 Appium 中键盘是否打开

    我正在尝试检查 Android 默认键盘是否打开 我没有找到任何可以在 Appium 中使用 JAVA 和 ADB 命令检查键盘的内容 我发现这个 ADB 命令可以检查键盘是否打开 adb shell dumpsys input metho
  • Ubuntu 的打包 - Web 应用程序

    Web 应用程序没有与 C 或类似文件不同的 make 文件 但是 它需要放置在特定的目录中 例如 var www 我是 Linux 打包新手 所以我的问题是 如何将我的应用程序打包到 deb 中 以便在安装时将其放入 etc myprog
  • 创建一个 int 类型的随机数组。爪哇

    我需要创建一个随机的 int 数组 并按我自己的类对其进行排序 这是我制作数组的地方 public class MyProgram9 public static void main String args int list new int
  • 从 AlertDialog 返回值

    我想构建一个函数来创建 AlertDialog 并返回用户输入的字符串 这是我用于创建对话框的函数 如何返回该值 String m Text private String openDialog String title AlertDialo
  • 在 IntelliJ 中创建可执行 JAR(Java 18、JavaFX 18 Maven 项目),“警告:不支持的 JavaFX 配置...”

    我有一个 Java 18 JavaFX 18 Maven 项目 除了 javaFX 库之外 它还有很多库需要包含在工件中 我想创建一个工件 一个 jar 其中包含所有依赖项 我开始按照这个视频来创建 jar https www youtub
  • 在Java中使用==而不是equals来比较不可变对象可以吗

    考虑调用静态工厂方法 valueOf 的两个 Integer 类型的引用 如下所示 Integer a Integer valueOf 10 Integer b Integer valueOf 10 考虑到Integer是不可变的 使用 而
  • jsf 中的类型未找到属性

    我正在尝试调用 jsf 中使用 primefaces 的属性 但我有错误 500 在托管bean PersonelBean 类型上找不到 我正在使用 hibernate jsf 和 spring PersonelBean java Mana
  • Java中如何限制文件大小

    我正在我的应用程序中创建一个文件 并继续向该文件中写入一些内容 但是当我的文件达到一定大小 比如说 100 行 后 我想删除第一行并将新行写入底部 要求是我的文件应该受到限制 但它应该保留我写入文件的最新内容 请告诉我在Java中是否可行
  • 如何检测java控制台中而不是GUI中的箭头键? [复制]

    这个问题在这里已经有答案了 我正在编写一个应用程序 我需要检测其中的箭头键 C 有getch 函数 我们想要获取输入 然后添加对 ASCII 值的检查 我们如何检测输入箭头键 谢谢 我写了一个Java类原始控制台输入 http www so
  • 从 SQL 语句中检索元数据(表名)

    我使用的是 Visual Studio 2008 我创建了一个 Winforms 应用程序 并且尝试从 SQL 语句中提取表名 con new SqlConnection connString String queryString Sele
  • JTable中动态加载大量数据

    这是我的问题 我目前有一个 JTable 其中包含 5 000 到超过 200 000 行 你知道我要说什么了 数据已经加载到内存中了 这不是问题 但是如何 我可以创建一个高效的 JTable 以便它只加载以下行 是可见的 并且任何事件仅作
  • Java Calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY),它会向后滚动、向前滚动还是未知?

    假设以下代码在 2009 年 8 月 22 日 星期六 执行 Calendar c Calendar getInstance c set Calendar DAY OF WEEK Calendar SUNDAY c get Calendar
  • 如何在jpa中共享EntityManagerFactory

    我是 jpa 的新手 这是场景 我正在开发一个 Web 应用程序 其中 多个用户可以登录 当 user1 注销时 我正在使用下面的代码 public static void closeEntityManagerFactory if enti

随机推荐

  • 如何使用 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