java - 带有 XML 标记或 Java 编程的 JavaFX gui 之间的区别?

标签 java javafx

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

谢谢!

最佳答案

JavaFX 的基于 XML 的定义 scene graphdeclarative programming 的一个例子.

针对 JavaFX API 编写 Java 源代码是 imperative programming 的示例.

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

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

FXML 非常适合定义场景的整体广泛元素及其结构。它适用于使用 SceneBuilder 等工具进行基于工具的创建和操作。 .

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

Java API 适用于:

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

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

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

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

关于java - 带有 XML 标记或 Java 编程的 JavaFX gui 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19371302/

相关文章:

Java自动属性比较

webview - 使用默认浏览器打开 JavaFX WebView 中的超链接

java - 将全局按键监听器附加到多个按钮

JAVAFX,当任务栏的位置发生变化时,如何在屏幕上更新最大化未修饰窗口的宽度和高度?

java - 如何在 Android 中提取 HTTPPost 后的 URL

java - 实现堆排序的正确方法是什么?

java - Ruby web 开发的良好框架

java - jnetpcap java.lang.UnsatisfiedLinkError :/usr/lib/libjnetpcap. so : libpcap. so.0.9: 无法打开共享对象文件: 没有这样的文件或目录

JavaFx Tableview,如何在同一个工厂中添加监听器并覆盖updateItem

java - 是否可以制作 JavaFX web 小程序?