从JavaFX开始 - JavaFX版本和"开发模式"问题

Mat*_*ari 6 java swing javafx javafx-2 javafx-8

我打算开始开发桌面应用程序,但直到现在,对我来说,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应用程序.我应该选择哪一个?每个人的利弊是什么?

Ita*_*iha 23

欢迎来到JavaFX的世界

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

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

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

有关Swing和JavaFX的更多差异,请关注(尽管答案很老,很多东西都已经改变了.JavaFX已经变得更大更好!)

/sf/ask/92305181/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编程方式?