3

我知道 JavaFX GUI 可以从 Java 编程语言或 XML 标记语言构建。我想知道是否有人可以突出两者之间的主要区别以及其中一个是否是行业标准。

谢谢!

4

1 回答 1

3

JavaFX场景图的基于 XML 的定义是声明式编程的一个示例。

针对 JavaFX API 编写 Java 源代码是命令式编程的一个示例。

这两种不同的编程风格并不相互排斥,而且通常是互补的。

如果您习惯于 Web 样式编程,您可以将 FXML 视为类似于 HTML,而 Java 源代码类似于支持动态 HTML 页面的 JavaScript。如果您查看大多数现代 HTML 页面的源代码,您会发现它们同时包含 HTML 和 JavaScript。

FXML 有利于定义场景的整体广泛元素及其结构。它可以使用SceneBuilder等工具进行基于工具的创建和操作。

整个 JavaFX 系统的源代码中不包含 FXML。FXML 更多地用于应用程序级开发而不是系统级开发。

Java API 适用于:

  • 制作要在 FXML 中引用的低级库(例如控件库)。
  • 产生高度动态的行为。
  • 创建渲染 FXML 页面的框架。
  • 编写业务逻辑。
  • 定义数据模型并将它们绑定到 UI。
  • 许多其他的事情。

在第一次学习 JavaFX 时,针对 JavaFX API 使用 Java 编程是了解 JavaFX 系统底层细节的好方法。当您开始编写更大的程序时,您可能会发现使用 SceneBuilder 开始定义您的 UI 以在 FXML 中生成它的初始场景图会更快、更有效。

可以在没有 FXML 的情况下编写 JavaFX 程序,但如果不使用某种命令式编程语言(例如 Java)就无法编写 JavaFX 程序。

简而言之,您至少需要学习 Java API,但几乎可以肯定学习 FXML 也是值得的。当您熟练使用两者时,您将能够在最有效和最合适的地方结合使用它们。

于 2013-10-15T01:09:04.153 回答