我需要针对Java 7,并希望在该项目中使用JavaFX和FXML。我们有一些Java 8的工作代码,如果我们可以将这些模块改编为Java 7,它将节省大量的时间。
我发帖是因为我在第一次尝试时遇到了编译错误。在第一个例子中,我找不到@FXML注释,包:
在Java 8 JDK中。然而,这仅仅是一个例子。
我希望找到Java 7 JDK JavaFX文档。搜索和教程似乎是针对Java 8和/或不是关于两者之间的工作方式不同的东西
该解决方案是一些文档,描述了Java 8 JDK JavaFX与Java 7的JavaFS JDK的不同之处?谷歌并没有给我太多满足感,而且大多数Stackoverflow问题都是另一回事。我想很少有人问如何返回版本。任何人看过,知道或有关代码差异的发布说明(或迁移指南??)。非常感谢提前。
答案 0 :(得分:1)
JavaFX 2是Java 7中包含的JavaFX版本。所有Oracle JavaFX 2 documentation is currently available online(将来可能会删除JavaFX 1文档的相同方式删除它)。 Java 7支持FXML,对Java 8的FXML没有重大改变,因此您为Java 8读取的任何FXML特定信息也将与Java 7相关。
我认为你并不需要一个向后移植指南(并不是说无论如何都会存在任何此类指南)。您可以根据最新版本的Java 7编译您的程序,并修复因删除任何lambda引用和针对旧API编码而发生的任何编译错误。除非您使用JavaFX 3D或打印或Java 8中的全新功能,否则我无法真正看到向后转换是一个问题或一个非常大的任务(90%以上的公共API将是不变)。
您遇到编译错误(例如找不到类)的一个原因是您需要将JavaFX 2运行时显式添加到编译和运行时类路径中(对于Oracle Java 8,此要求已被删除)。有关详细信息,请参阅Compile code using JavaFX 2.0 (using command line)的答案。
我建议不要反向移植代码,因为有improvements in JavaFX 8这么多。 Java 7的支持寿命也有限。如果将应用程序捆绑为独立应用程序,则可以控制应用程序运行的Java运行时,因此Java 8将成为此类方案的明显选择。但是我想你可能有一些约束迫使你编写Java 7代码(你不需要在这里概述)。