JavaFX GUI 的 XML 标记和 Java 编程之间有什么区别?

3
我了解到JavaFX GUI可以从Java编程语言或XML标记语言中构建。我想知道有人能否突出两者之间的主要区别,以及它们是否有一个行业标准。
谢谢!
1个回答

3

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

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

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

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

FXML适用于定义场景的整体结构和结构。 它适合使用工具进行创建和操作,例如SceneBuilder

整个JavaFX系统在其源代码中不包含任何FXML。 FXML更适用于应用程序级别的开发而不是系统级别的开发。

Java API适用于以下方面:

  • 制作低级别库(例如控制库),以便在FXML中引用。
  • 生成高度动态的行为。
  • 创建呈现FXML页面的框架。
  • 编写业务逻辑。
  • 定义数据模型并将其绑定到UI。
  • 许多其他事情。

当首次学习JavaFX时,使用Java针对JavaFX API进行编程是了解JavaFX系统低级细节的好方法。随着您开始编写更大的程序,您可能会发现使用SceneBuilder定义UI来生成其初始场景图形的FXML更快,更有效。

可以在没有FXML的情况下编写JavaFX程序,但不可能不使用一些命令式编程语言(如Java)编写JavaFX程序。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接