问题标签 [fxmlloader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
455 浏览

java - SpringFramework 项目中 FXMLLoader 中的 InvocationTargetException

你好 StackOverflowers,

我正在使用(除其他外)Spring 框架进行票务销售计划。我得到了一个非常有趣的 InvocationTargetException,它是由 NullpointerException 引起的。然而,当我检查调试器(IDE IntelliJ)时,抛出 Nullpointer 的那一行,没有任何空值。

BasketController(购物篮的控制器):

显示标签控制器:

在 ShowTabController 中有一个包含 ShowDtos 的 TableView,在 handlePurchase 方法中我调用了 SeatingChart 对话框(绘制空闲/占用/保留座位的另一个场景)。但首先我检查购物篮中当前是否有所选节目的门票,如果有,我将它们发送到座位表,以便可以根据选择绘制它们。

在 99% 的情况下,这个逻辑运行良好,但现在我们设法创建了 1% 的错误,它突然不再工作了,过程:

在座位表中选择门票进行预订

  • 票证被发送到 BasketController
  • 在 BasketController 中,票据被发送到数据库并保存
  • 保留票从数据库中加载(在不同的选项卡中)
  • 其中一些被选中并再次发送到购物篮(以实买)
  • 如果我从 BasketElementController 调用更改门票(代表一次购买),SeatingChart 会完美打开(在此期间调用 BasketController.getTicketIdentifiersToShow)
  • 但是,如果我使用 ShowTabController.handlePurchase 方法调用更改票证,则会收到以下异常:

例外

但是,当我使用调试器检查 BasketController 中的所有内容时,没有一个变量为空,showsMap 具有不应引发 NullpointerException 的有效键和有效值。

编辑:在调试器中显示它们是!= null,但是 LogStatement 显示,即使显示 Map.get(showDto) == null,即使 showMap.values() != null 并且只有一个键。

这可能是由控制器类上的 DependencyInjection 引起的吗?注入的对象可以突然变为空?一些帮助和提示将不胜感激。

PS:我尽力保持代码样本尽可能小,同时仍然显示相关的地方。

0 投票
1 回答
980 浏览

javafx - JavaFX 8 加载外部 FXML

查看 JavaFX SceneBuilder 时,它能够加载任何类型的 fxml。根节点或控制器被忽略。场景构建器能够加载任何类型的 fxml 并显示其组件。

有没有人喜欢加载 fxml 的方法,而不考虑其字段的 id、控制器或根节点的类型?

问题是,当我尝试加载任何 fxml 时,它只能加载,如果我设置了正确的根类型。我想(通过 FileChooser)将我能找到的任何 FXML 加载到(比如说)窗格中。

任何想法都将不胜感激(www中的所有帮助都指向使用特定根类型的加载机制,因此根类型是已知的)。我想加载未知的根类型,而不考虑 fx:id 等。

例外:

0 投票
1 回答
1552 浏览

javafx - FXML:ClassNotFoundException

我很新JavaFX,我在使用我的自定义类时遇到问题FXML。尝试加载时控制台不断给我这个异常main.fxml

我将BoardPane类创建为FlowPanein package的子类,sample.View并在我的 FXML 中将其引用如下:

项目结构如下所示:

  • 资源
    • 文件格式
      • 主文件
  • ...
  • 源代码
    • ...
    • 样本
      • ...
      • 看法
        • 板窗格

谁能帮我解决这个问题?我一直在寻找一段时间,并没有找到任何解释。

0 投票
1 回答
9490 浏览

java - 这个 JavaFX/FXML 自定义组件有什么问题?

我正在学习编写用于 JavaFX 8 和 Scene Builder 的 FXML 自定义组件。

我编写了如下所示的 FXML 文件,但Scene Builder不会打开它,由于异常给我“打开操作失败”的消息:

为什么我会收到此异常?

这是 FXML 文件:

以下是 TicoTeco.java 和 Main.java 的 Java 文件:

0 投票
1 回答
992 浏览

java - 加载 FXML 时发生 javafx.fxml.LoadException

我正在尝试创建一个非常简单VBox的黑色背景。就这样。没有其他的。我FXML用来形容我的VBox.

示例.fxml:

控制器.java:

主.java:

我正在使用IDEA IntelliJIDE。我收到以下错误:

为什么会这样?如果我犯了任何错误或遗漏了什么,请告诉我。

0 投票
2 回答
1403 浏览

java - 单击其中的保存/取消按钮时,如何关闭 Javafx 2.2 选项卡?

我有一个使用 Tabpane 动态打开/关闭选项卡的 JavaFX 2.2 项目。当我点击它上的保存/关闭按钮时,我想关闭它。

可能吗?

我虽然可以很容易地得到答案,但不得不说这是 fxml 项目 Javafx 2.2,涉及 3 个类,主类、mainclassController 和 tabcontroller,如下所示:

“主” = principal.java

“主控制器” = baseWindowController.java

“tabController”= NewUserFormController.java

素数 = 本金

我已将 Principal.java 设置为控制器的 mainApp

如您所见,我尝试了很多可能性。

0 投票
1 回答
56 浏览

javafx-8 - 为什么这两个代码给出不同的输出

给定以下代码:

代码1:

输出:
控制器为空

代码2:

输出:
控制器不为空

我以为他们会给出相同的结果?不是吗?

0 投票
0 回答
3361 浏览

javafx - 如何在 JavaFX 中刷新阶段

我想fxml在向其中添加数据后更新我的数据。单击数据中的添加按钮时,priceaddonn.fxml应将数据传输到Sys1.fxml并且应根据priceAddOnn.fxml输入更新表

PriceAddOnController.java

Sys1Controller.java

0 投票
1 回答
858 浏览

java - JavaFX 应用程序:未找到 FXML 文件

我将我的应用程序打包为 JAR 文件。跑步java -jar myapp.jar效果很好。我想在浏览器中运行这个应用程序,所以我使用该javapackage命令创建了 JNLP 和 HTML 文件。

我已将我的file://URL 列入白名单,启用控制台以进行调试输出,这就是我所看到的:

对应的代码是:

我已经验证了它Main.xml在 jar 文件中的正确位置和正确命名(请记住,从 java 运行 jar 文件是有效的)。

为什么Main.fxml使用 webstart 运行应用程序时文件不可见?(javaws myapp.jnlp产生相同的错误)

我错过了什么还是 JavaFX 和 JNLP 的错误?

软件:Java 8 u51,Linux Centos 6 64 位。

更新

我已经签署了我的 jar 文件,添加Permissions: sandboxCodebase: *我的清单,添加<security><all-permissions/></security>到我的 .jnlp,将控制面板设置设置为尽可能宽松,将我的 URL ( file:/) 列入白名单,但无济于事。由于“安全原因”,我的应用程序被阻止。这令人沮丧。

0 投票
1 回答
1236 浏览

java - JavaFX + FXML + webstart:为什么这不起作用?

让我们使用带有 FXML 的 JavaFX 8 创建最简单的 Hello World 应用程序:

文件

src/application/Main.java

src/application/Sample.fxml

工作流程

使用您喜欢的 IDE,将所有内容编译到一个bin文件夹中:

然后创建一个罐子:

可以在这里验证 jar 文件是否与java -jar jfxhw.jar.

让我们签名:

部署:

结果

命令:

失败(您需要启用控制台才能看到):

我究竟做错了什么?