我知道JavaFX GUI可以从Java编程语言或XML标记语言构建。我想知道是否有人可以强调两者之间的主要区别,以及其中一个是否是行业标准。
谢谢!
XML 的 JavaFX 场景图定义是声明式编程的一个示例。
针对 JavaFX API 编写 Java 源代码是命令式编程的一个例子。
这两种不同的编程风格并不相互排斥,而且通常是互补的。
如果您习惯了Web样式编程,则可以将FXML视为类似于HTML和Java源代码,类似于支持动态HTML页面的JavaScript。 如果你在大多数现代HTML页面上查看源代码,你会看到它们同时包含HTML和JavaScript。
FXML非常适合定义场景的整体广泛元素及其结构。 它适合使用场景构建器等工具进行基于工具的创建和操作。
整个JavaFX系统在其源代码中不包含FXML。 FXML更多的是用于应用程序级开发,而不是系统级开发。
Java API 适用于:
- 制作要在 FXML 中引用的低级库(例如控件库)。
- 产生高度动态的行为。
- 创建呈现FXML页面的框架。
- 编写业务逻辑。
- 定义数据模型并将其绑定到 UI。
- 许多其他事情。
在第一次学习JavaFX时,针对JavaFX API进行Java编程是了解JavaFX系统的低级细节的好方法。 当您开始编写更大的程序时,您可能会发现开始使用SceneBuilder在FXML中生成其初始场景图来定义UI更快,更有效。
可以在没有FXML的情况下编写JavaFX程序,但是如果不使用某种命令式编程语言(如Java),就不可能编写JavaFX编程。
简而言之,你至少需要学习Java API,但几乎可以肯定的是,学习FXML也是值得的。 当您熟练使用两者时,您将能够在最有效和最合适的地方结合使用它们。