gpt4 book ai didi

java - JavaFx scenebuilder 可以用来创建 Java 代码而不是 FXML

转载 作者:行者123 更新时间:2023-11-29 07:46:08 26 4
gpt4 key购买 nike

我是 Javafx 的初学者。我发现 Javafx Scene builder 非常酷,可以生成与 Javafx 相关的任何表单,但它只能处理 fxml 文件,不能处理 java文件。

例如:当我使用 Scene Builder 创建 MenuListItems 等时,它仅生成具有相似 html 文件的源代码(XML 输出)。

但我不想限制这些 XML 文件的使用。那么有人知道在不使用 fxml 的情况下处理 java 文件 的个人技术吗?

最佳答案

你的问题的答案 JavaFx scenebuilder 可以用来创建 Java 代码而不是 FXML 你不能

如果您需要使用 Java 来创建您的表示层,您将不得不通过自己编写代码来完成,这是有原因的。请关注以下帖子:

JavaFX 使您能够使用 Java 代码和称为 FXML 的基于 XML 的语言创建 UI。引入 Scene Builder 是为了利用 FXML,通过提供 DRAG n DROP 功能来生成 FXML 代码。您可以认为这类似于 Window Builder for Swing ,最终结果的不同之处在于 FXML(.fxml) 而不是 Java(.java)。

黑白 Java 代码和 FXML 的基本区别

Java 代码

BorderPane border = new BorderPane();
Label toppanetext = new Label("Page Title");
border.setTop(toppanetext);
Label centerpanetext = new Label ("Some data here");
border.setCenter(centerpanetext);

FXML

<BorderPane>
<top>
<Label text="Page Title"/>
</top>
<center>
<Label text="Some data here"/>
</center>
</BorderPane>

为什么要使用 FXML,当我可以通过 JAVA 代码实现同样的功能时

当我们可以使用 JAVA 时,您会想为什么要使用 FXML。好吧,这是您的选择!

来自文档

FXML is an XML-based language that provides the structure for building a user interface separate from the application logic of your code. This separation of the presentation and application logic is attractive to web developers because they can assemble a user interface that leverages Java components without mastering the code for fetching and filling in the data

因此,FXML 强制您使用 MVC 模式,使您的表示层与逻辑分离,使您更容易维护和编辑表示层,并通过与 Java/JavaFX 无关的 UI 设计人员

For more information and example on FXML

关于java - JavaFx scenebuilder 可以用来创建 Java 代码而不是 FXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25589447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com