问题标签 [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 回答
629 浏览

javafx-2 - 从另一个 fxml 文件的控制器加载 fxml 文件时出现空点异常

我面临同样的问题!

我正在将 ImageView 添加到 Button 并使用 SceneBuilder 将图像路径添加到 FXML 文件中的 ImageView。当我通过 Eclipse IDE 运行它时,它工作正常,但在作为 jar 文件运行时却不行。

从 Button 中删除 ImageView 后,即使作为 jar 运行,它也开始正常工作。

但是,现在我在不同的场景中遇到了同样的问题!

我正在使用 3 个 FXML 文件来构建整个窗口。

  1. MainWindow (Border Pane) -- 这包含添加到边框窗格顶部位置的菜单栏和工具栏。
  2. CenterWindow(锚窗格)
  3. 按钮窗口(锚窗格)

在 MainWindow 的控制器中,我试图添加不同 fxml 文件中的 CenterWindow 和 ButtomWindow。

但是,NullPointerException发生在我试图加载 fxml 文件的行的 MainWindow 控制器中。它说在例外情况下需要位置。我已经提取了 jar 文件并检查了,fxml 文件在 jar 里面。有人可以帮忙吗。

封装结构:

在 Main.java 我正在加载 MainWindow.fxml 加载正常。然后在 MainWindowController.java 我试图加载 CenterWindow.fxml & ButtomWindow 这给出了异常。

异常日志:

0 投票
1 回答
914 浏览

javafx - 如何从 Controller 类的 Main 类中获取 Stackpane?

为了熟悉场景构建器,我在场景构建器的堆栈窗格中添加了一个折线图和两个数字轴作为节点。父节点将加载到 mainApp.java 中:

现在,对于进一步的操作,我想在 FXMLDocument.fxml 中获取父级的堆栈窗格,但我不知道如何...

例如

StackPane 容器 = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml") 等。

如何在 Controller 通行证中获取我的根节点或堆栈窗格?

0 投票
1 回答
61 浏览

java - 当我在 initialize() 方法中添加 TableView 功能时,按钮停止工作

在我将表格(TableView)功能添加到我的代码之前,我的按钮运行良好,但是现在一旦我单击相同的按钮就会发生错误。如果我在以下代码中注释掉这行代码,错误就会消失并且按钮可以工作RoomsController

FXML 文件:

控制器类:

当我单击 Check In( btnCheckInPopUp) 时,会出现以下错误:

我真的试图找出原因,但无济于事。我非常感谢您的帮助,我将提供有关解决问题所需代码的更多详细信息。

这里的问题 似乎和我的很相似。

0 投票
3 回答
21470 浏览

javafx - 每个声明都需要@FXML 吗?

每个声明都需要@FXML 还是只需要第一个声明?

换句话说,我应该使用

或者

谢谢!

0 投票
1 回答
1245 浏览

javafx - FXMLLoader 工厂方法可以用于用户定义的类吗?

在“Pro JavaFX 8:构建桌面、移动和嵌入式 Java 客户端的权威指南”的第 3 章中,一个示例说明了如何直接在 FXML 文件中指定对象。

您可以在本文末尾找到完整的 FXML 文件以及示例中的其他文件。

这是我正在讨论的片段。该sizes字段使用该fx:factory属性指示必须使用工厂方法 Utilities.createList() 创建一个整数列表,然后用三个整数填充该列表。

这是 Utilities.java:

我的问题是:使用这些工厂方法的一般机制是什么?

我想了解 FXMLLoader 如何知道需要将三个 Integers 添加到使用该add方法创建的对象中。自然,它必须以某种方式知道List或也许知道Collection,但是该知识在哪里指定?它是内置在 FXMLLoader 中的吗?如果是这样,如何为用户定义的类提供这样的工厂方法?

我实际上尝试将它与用户定义的类一起使用。我在 Utilities.java 中添加了以下代码片段,它创建了一个MyCollection具有单个方法add(Integer)并定义了一个Utilities.createMyCollection方法的类:

但是,当我在 FXML 文件中替换 createMyCollection 时,我收到消息“MyCollections 没有默认属性。将 MyCollection 内容放在属性元素中。”

这让我想知道如何为用户定义的类声明一个默认属性,以及如何List已经拥有一个。

这是所有文件(除了上面的 Utilities.java):

FXMLBasicFeatures.fxml:

FXMLBasicFeaturesBean.java:

FXMLBasicFeaturesMain.java:

0 投票
1 回答
443 浏览

webview - 在 JavaFX 中从另一个 WebView 更改一个 WebView

我目前在嵌入锚窗格的水平 SplitPane 中有两个 WebView(比如 leftWebView 和 rightWebView)。每个 WebView 都有一个 JavaScript(创建一个具有不同颜色的矩形)。现在我想做的是在单击一个矩形时,我想更改另一个 WebView。问这个问题的一个简单方法是如何通过更改 rightWebView 来调用 leftWebView。

我的应用程序的 UI 看起来像这样:示例应用程序

以下是 FXML、控制器和 Java 文件

LeftWebView 和 RightWebView 类是类似的,只是在 javascript 中的变化

我可以通过 Javascript 回调类 Bridge (Bridge.clickLeft()) 中的一种方法,但我不确定如何访问另一个 WebView 并对其进行更新。

0 投票
3 回答
12033 浏览

javafx - 从 JavaFX 中的不同类更改标签的文本

这个问题已经在这里问过,但找不到任何答案。我已经重现了类似的情况,我想使用控制器从另一个类更改标签的文本

FXMLDocumentController.java

FXML文档.fxml

Demo5.java

连接器.java

控制台输出

但可以看到标签没有变化。我在这里错过了什么重要的东西吗?

0 投票
0 回答
100 浏览

javafx - Java 8 FXML如何扩展不能具有默认构造函数的类

在 java 8 中,它声明不推荐使用构建器:http: //mail.openjdk.java.net/pipermail/openjfx-dev/2013-March/006725.html

我正在尝试扩展图表以向图表添加水平和垂直标记。在这种情况下,我正在扩展 LineChart。我希望在开始抛出的 FXML 中使用所述 LineChart:java.lang.NoSuchMethodException: ...chart.LineChartWithMarkers.() 这是由于没有默认构造函数引起的。

由于 Linechart 的构造函数为 XAxis 和 YAxis 使用 2 个参数,因此不推荐使用构建器。我应该如何让 FXML 能够加载我的课程,或者我错过了什么大事?

我真的很想将这一点推广到任何扩展没有默认构造函数的 Node 的类,并使用 Java 8 (8u40+) FXML 库。我还没有找到一个明确的答案。我所听到的只是构建器在 JDK9 中被完全弃用和删除,但如果您在 FXML 中使用它,则没有解决方案取代它们或需要覆盖什么方法才能使其工作。

据我所知,在添加任何必填字段之前,构建者不会创建类的实例。

希望有人会插话并告诉我我错过了什么。

自定义图表的 Java 类

和 FXML

0 投票
1 回答
2521 浏览

javafx - 在 JavaFX/FXML/SceneBuilder 中的屏幕之间传递参数

我正在尝试使用 SceneBuilder 和 FXML 构建一个简单的概念验证程序,该程序由两个屏幕组成。第一个屏幕只是一个文本字段和一个将您带到第二个屏幕的按钮,第二个屏幕只有一个标签,理想情况下,该标签将显示按下按钮时文本字段内的任何内容。每个屏幕都有自己的 FXML 文件和自己的控制器。我已经阅读了有关 FXMLLoader 的内容,因为我的研究表明这是完成此任务的理想方式,但我似乎仍然无法辨别如何正确使用它。最终,我想在角色扮演游戏的一种“角色创建”游戏前屏幕中实现这一点,其中玩家统计滚动/库存选择从初始屏幕移动到用于计算/处理的模型,

0 投票
2 回答
2280 浏览

java - NullPointerException 从 javafx 小程序加载 fxml 文件

我正在尝试使用 IntelliJ Idea 创建 javafx 小程序。构建后,我得到三个文件:.jar、.jnlp 和 .html。如果我启动 jar 一切正常,但如果我尝试使用 jnlp 或 html 运行应用程序,则会引发异常:

为什么会这样?Jar 恰好包含位于指定路径的所需 fxml。

爪哇:

FXML:

我究竟做错了什么?请帮忙。