从JavaFX开始 – JavaFX版本和“开发模式”问题

我正计划开始开发桌面应用程序,但直到现在,对我来说,desktop = swing。 我做了一些关于它的研究,发现自己有些问题:

  1. 我发现有很多JavaFX版本:

    • 人们说JavaFX 1.0已经陈旧过时了;
    • JavaFX 2.X非常好;
    • 而现在JavaFX 8(这是正确的吗?);

    但即使最新的NetBeans IDE版本(8.0)与JDK 8(1.8.0),当我创建JavaFX应用程序时,它开始使用JavaFX 2.2 – JavaFX 8是否真的是一个新的JavaFX版本或人们说它只是因为他们使用JavaFX 2.X与JDK 8?

  2. 关于版本的另一个问题,在JavaFX版本X中开发的应用程序是否与更高版本兼容? 就像一个swing应用程序,如果你用Java 5开发了一个应用程序,它甚至可以在Java 8上运行。

  3. 关于开发模式,更具体地说是关于布局创建,我注意到有两种方法可以创建布局:只需用Java编写代码,然后用Java类作为控制器创建XML文件(FXML)(更多MVC方法)就像一个JSF应用程序。 我应该选择哪一个? 每个人的利弊是什么?

欢迎来到JavaFX的世界

我不确定你为什么要面对JDK 1.8这样的JavaFX 2.2问题,因为JDK 8中有JavaFX 8,默认情况下必须使用它。

只是简单介绍JavaFX以及它与Swing的不同之处。 请遵循以下几点:

  1. 而不是遵循在Java代码中构建视图/ UI并使用视图弄乱function代码的遗留问题,您可以使用JavaFX 2.0+中引入的FXML将视图与function分离。
  2. JavaFX具有强大的CSS集成,允许您装饰视图,这在Swing中是不存在的
  3. 开发速度更快,因为您有SceneBuilder来支持您。

有关Swing和JavaFX的更多差异,请关注(虽然答案很老,但很多事情都发生了变化.JavaFX变得更大更好!

https://stackoverflow.com/questions/1318645/JavaFX-or-swing

JavaFX 2 vs Swing用于纯Windows桌面应用程序

JavaFX 1 +,2 +和8+之间的区别

  1. JavaFX 1+基本上是一种称为JavaFX脚本的脚本语言,它与Java语言非常不同。
  2. JavaFX 2.0改变了JavaFX的面貌。 所有JavaFX API现在都可以作为纯Java API使用。 在JavaFX的这个阶段也引入了FXML!
  3. JavaFX 8.0引领了JavaFX的新面貌,其中JavaFX被接受为Java 8的一个组成部分。

兼容性 – 所有JavaFX应用程序都是前向合规性的 ,即JavaFX 2.0+与Java 7,8及更高版本兼容 。 尽管使用JavaFX 8创建的应用程序与Java 7不兼容

Java 1.7支持JavaFX 1.3。

发展模式

  1. JavaFX提供了使用您的选择构建应用程序的机会 – 即使用遗留方法使用纯Java构建视图或使用FXML
  2. JavaFX严格遵循MVC模式,将视图及其事件分开。 视图使用FXML创建,控制器是Java文件。

来自Oracle文档

从模型视图控制器(MVC)的角度来看,包含用户界面描述的FXML文件是视图。 控制器是一个Java类,可选地实现Initializable类,该类被声明为FXML文件的控制器。 该模型由在Java端定义的域对象组成,您通过控制器连接到视图。

有关FXML的更多信息和专业知识 ,请遵循:

哪种更好的javafx编程方式?