我是Javafx的初学者。我发现Javafx Scene builder
生成与Javafx相关的任何表单都非常酷,但它只使用fxml
个文件,而不是java
个文件。
例如:当我使用Scene Builder创建MenuList
,Items
等时,它只生成具有类似html文件的源(XML输出)。
但我不想confine with the use of these XML files
。那么有人知道在不使用java file
的情况下处理fxml
的个别技术吗?
先谢谢!
答案 0 :(得分:3)
您的问题的答案 JavaFx场景构建器用于创建Java代码而不是FXML 您不能
如果您需要使用 Java来创建表示层,您必须自己编写代码并且有理由。请按照以下帖子:
JavaFX使您能够使用Java代码和名为FXML
的基于XML的语言创建UI。引入Scene Builder是为了利用FXML,通过提供DRAG n DROP
功能来生成FXML代码。您可以将此视为与Window Builder for Swing类似,最终结果的差异在于FXML(.fxml)而不是Java(.java)。
基本差异b / w 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是一种基于XML的语言,提供构建结构 与代码的应用程序逻辑分开的用户界面。 这种表示和应用程序逻辑的分离是 对Web开发人员有吸引力,因为他们可以组建用户 在不掌握代码的情况下利用Java组件的接口 用于获取和填写数据
因此,FXML强制您使用MVC模式,使您的表示层与逻辑分离,使您更容易维护和编辑表示层,以及通过与Java / JavaFX无关的UI设计者< / p>
答案 1 :(得分:2)
SceneBuilder用于通过fxml直观地创建gui,并且根本不生成任何Java代码。这取决于开发人员。
这里有一个很好的入门教程:http://code.makery.ch/java/javafx-2-tutorial-part1/
它讨论了JavaFX与Eclipse和SceneBuilder的使用