JavaFX或FXML。有什么不同?

时间:2017-09-10 16:31:01

标签: java javafx javafx-2 javafx-8 fxml

我刚开始学习javafx来构建桌面应用程序。但我不明白一件事。这是我的问题: 我们可以通过编写代码来创建一个gui:

enter image description here

或者,我们可以使用场景构建器创建gui,如下所示:

enter image description here

如果第二种方法可用,我们为什么要使用编写代码,例如放置此标签或按钮的位置等等。

我是新手,所以我不知道第二种方法是否有任何缺点。

2 个答案:

答案 0 :(得分:1)

我自己主要使用FXML工作,我喜欢SceneBuilder的WYSIWYG方法,但我遇到了回到编码用户界面的情况。

例如,我有一个应用程序,用户最多可以回答10个问题。在编译时不知道问题或其数量。我在GridPane中运行时为问题创建标签和复选框。 GridPane是FXML布局的一部分。这可以通过使用ListView和自定义ListCells的FXML完成,但它实际上更多的工作,我不需要Cell重用,因为问题太少。

也可能需要10x10按钮,在FXML中放置100个按钮并不好玩。当我在Android上实现游戏like this时,我使用了它。

此外,当您有许多不同的视图都非常相似时,除了小的定位差异之外,您可能希望在代码中创建它们,而不是制作多个几乎相同的FXML文件。

答案 1 :(得分:1)

  

我是新人,所以我不知道第二种方法是否有任何弱点。

如果时间允许,请使用两种方法单独编写UI!

说真的,如果你是新手,并且想要了解这两种方法的缺陷,那么通常没有比在几个方案中获得更好的方法,掌握两个工具包并看哪个在不同情况下你喜欢的方法。

有明显的情况,一个人会变得比另一个好,但是"在...之间"然后,案例往往归结为个人偏好(如果不仅仅是您开发,基于团队的偏好以及遵守您公司的代码风格要求。)