JavaFX gui 与 XML 标记或 Java 编程之间的区别



我知道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也是值得的。 当您熟练使用两者时,您将能够在最有效和最合适的地方结合使用它们。

最新更新