一种可编写脚本的基于XML的语言,它提供了与代码的应用程序逻辑分开构建JavaFX用户界面的结构。
SceneBuilder 无法打开使用 JFoenix 元素的 FXML 文件
尝试在SceneBuilder中打开FXML文件时,抛出异常。有没有办法来解决这个问题? 爪哇: 11.0.19 2023-04-18 LTS 场景构建器: 版本20.0.0 日期:2023-05-08 14:08:52 JavaFX 版本:...
我有一个包含 MFXToggleButtons 的 VBox。我想折叠并扩展这个VBox的高度,使其完全消失。这样就创建了一个设置窗口,当展开时,可以移动其他对象...
我正在使用 intellij 在 Java 中开发一个应用程序,但我在空结果集上收到无效操作。我认为问题出在“insertData”方法上,但我不确定为什么。这是...
我知道您可以使用以下结构将 fxml 文件的属性与控制器绑定: // 样本.fxml 我知道您可以使用以下结构将 fxml 文件的属性与控制器绑定: // sample.fxml <VBox fx:id="vboxContainer" fx:controller="my.package.Controller" > ... </VBox> 我可以像这样访问 FXML 中定义的控件 package my.package; public class Controller { @FXML public VBox vboxContainer; } 现在我正在尝试做以下事情。假设如下所述的结构。我需要在父 fxml 下放置任意数量的 child 项目。每个子级将被分配同一控制器类的不同实例。我无法在 child.fxml 文件上定义 fx:controller 属性,因为那时我需要任意数量的控制器类。这就是我通过动态构建控制器实例来解决这个问题的方法。 // parent.fxml <VBox fx:id="childContainer" fx:controller="my.package.ParentController"> <!-- Child elements should go here --> </VBox> // child.fxml <Label fx:id="childLabel" /> 在RootController初始化方法上我有以下内容: // Parent Controller public class ParentController { @FXML public VBox childContainer; @FXML @Override public void initialize() { URL childFXML = getClass().getResource("/path/to/child.fxml"); for (int i = 0; i < arbitrary_number; i++) { FXMLLoader loader = new FXMLLoader(upgradeFXML); loader.setController(new LabelChildController()); Node node = loader.load(); childContainer.getChildren().add(node); } } // Child Controller public Class LabelChildController { @FXML Label childLabel; } 这似乎工作正常。然而,在 LabelChildController 上,所有属性似乎都是 null,例如 childLabel,显然是因为它们没有正确绑定。我该如何解决这个问题?这是正确的方法吗?我正在使用 Java 11,目前正在使用 JavaFX 11.0.2(如果有帮助的话)。
问题是我想知道如何在JavaFx或Java Swing(JavaFx中首选)中制作响应式桌面应用程序。当我尝试调整应用程序框架的大小时,它的组件大小没有...
我为两个数字创建了简单的 maven 项目以求和。 公共类 AddNum { public int getTwoNumbers(int x, int y) { int addnum = x + y; 返回地址; } } 之后我
我遵循指南和基本教程时非常沮丧。我可以将 CSS 样式应用于不同的元素,但不能应用于 vbox 或 hbox。 我有以下简单的应用程序使用 FM 创建一个简单的场景......
我的游戏有问题。问题是我想反驳一个正方形的边框是否只填充了红色或蓝色。 (玩家 1 和玩家 2)我必须以某种方式计算这些填充的方块。 `pa...
我已经尝试了 Stack Overflow 上的所有建议,但它并没有帮助解决这个问题。每当我尝试运行 main.java 文件时,它都会抛出异常。 代码如下所示。有没有人遇到过这个
MFXButton 地址显示而不是 MFXTable 上的按钮
我正在尝试向表中的每一行显示一个按钮,以将其作为更新/删除按钮,但它显示的不是实际按钮,而是地址而不是实际按钮。 请注意...
JFXDatePicker 没有出现在带有 JFoenix 9.0.10 和 Scene Builder 19.0.0 (Java 20) 的 Scene Builder 中,尽管其他组件在工作
“我正在为 Java 项目使用 JFoenix 9.0.10 和 Scene Builder 19.0.0,但是 JFXDatePicker 组件没有出现在 Scene Builder 的搜索栏中。我已经导入了 JFoenix 库...
我有一个项目,客人可以以图书管理员或用户身份登录,如果他以用户身份登录,他将看到数据库中所有书籍的图像列表,现在如果以图书管理员身份登录,他可以。 ..
在这里输入图片描述 大家好,我正在和我的朋友们一起开发一个 JavaFx 项目,但是我无法打开其中一个 .fxml 文件,该文件将我的一个朋友推送到 github,我也无法用
这是我的第一堂课,它有一个字符串“CatID”: public void handleButtonlActionPickItem(ActionEvent event, String CatID) { FxmlLoader 对象 = new FxmlLoader(); 窗格视图 = 对象。
在设置 fx:id 后访问字段时在 javaFX 中出现空指针异常
这是按钮的 fxml 标记: 舞台 这是按钮的 fxml 标记: <Button fx:id="btn" layoutX="279.0" layoutY="130.0" mnemonicParsing="false" text="Button" /> 舞台运行良好,但我不能使用任何字段,在这种情况下,btn。这就是我加载它的方式: FXMLLoader loader = new FXMLLoader(getClass().getResource("Sample.fxml")); root = loader.load(); btn.setOnAction(x -> { System.out.println("button clicked"); }); 字段声明如下: @FXML Button btn; 来自堆栈跟踪的消息 java.lang.NullPointerException:无法调用“javafx.scene.control.Button.setOnAction(javafx.event.EventHandler)”,因为“this.btn”为空 在 FxmlTest/application.Main.start(Main.java:29) (Main.java:29 us btn.setOnAction...) 最后,我这样设置控制器: <AnchorPane fx:id="root" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" **fx:controller="application.Main"**> 我试过的解决方案 使控制器类成为主类。 从 Platform.runLater(...) 访问字段 在加载根之前访问该字段。 root = loader.load(); 在没有 Maven 的情况下创建了一个完整的模块化项目,因为我认为问题可能是由 Maven 引起的。例如,getResources() 仅适用于 Maven 项目中的“/”,我的项目就是这样。 注意事项 我读到有人建议实施 initialize() 但我认为这是现在直接注入的旧做法(?)。 这绝对感觉像是一个错误或其他什么,因为使用 SceneBuilder,我注意到在我用记事本打开 fxml 文件然后关闭它之前,我的 IDE 没有获取保存的更改。 *完整代码 package application; import javafx.application.Application; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; public class Main extends Application { @FXML AnchorPane root; @FXML Label basmalaLbl; @FXML Button btn; @Override public void start(Stage primaryStage) { try { FXMLLoader loader = new FXMLLoader(getClass().getResource("Sample.fxml")); root = loader.load(); btn.setOnAction(x -> { System.out.println("button clicked"); }); Scene scene = new Scene(root,400,400); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } } FXML <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Button?> <?import javafx.scene.control.Label?> <?import javafx.scene.layout.AnchorPane?> <?import javafx.scene.text.Font?> <AnchorPane fx:id="root" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Main"> <children> <Label fx:id="basmalaLbl" layoutX="272.0" layoutY="192.0" text="بسم الله!"> <font> <Font size="33.0" /> </font> </Label> <Button id="btn" fx:id="btn" layoutX="279.0" layoutY="130.0" mnemonicParsing="false" text="Button" /> </children> </AnchorPane>
我有一个接口 GraphicNodeProvider: 公共接口 GraphicNodeProvider { 节点getNode(Graphic图形); } Graphic 类型是一个枚举: 公共枚举图形{ 隐藏, 展示, 参考...
Create an Object with an Array as attribute并将该对象推送到tableView JavaFX
我有一个名为“line”的对象包含两个属性“stCpl”和“list”` 公开课行{ 私有字符串 stCpl; 静态 int[] 列表 = new int[26]; ...
为什么我的 FXML 文件对于 FriendsBookController 类中的所有函数都显示为红色?
代码应该创建一个朋友列表,并允许用户使用相应的按钮添加和删除他们。添加朋友时,用户应输入他们的信息,删除朋友时...
javaFX FXML:为什么控制器类中的所有 FXML 引用都是空的?
我正在使用 JavaFX 和 FXML 构建桌面应用程序。我有一个 FXML 文件和一个相应的控制器类。但是,当我尝试在我的控制器类中引用任何 FXML 元素时,...
我试过的一切都不起作用。当我从 fxml 文件中删除控制器类时,除了屏幕不工作外,一切正常。这是我的文件: 请告诉我是否需要...