【问题标题】:Looking for a guide using FXML with Java 7寻找在 Java 7 中使用 FXML 的指南
【发布时间】:2014-12-04 12:08:24
【问题描述】:

我需要以 Java 7 为目标,并希望在该项目中使用 JavaFX 和 FXML。我们有一些适用于 Java 8 的代码,如果我们可以将这些模块改造为 Java 7,将会节省大量时间。

我发帖是因为我在第一次尝试时遇到了编译错误。在第一种情况下,我找不到@FXML 注释,包:

  • 导入 javafx.fxml.FXML

在 Java 8 JDK 中。然而,这只是一个例子。

我希望找到 Java 7 JDK JavaFX 文档。搜索和教程似乎是针对 Java 8 和/或不是针对两者之间工作方式不同的事情

解决方案是一些文档,描述了 Java 8 JDK JavaFX 与 Java 7 的 JavaFS JDK 有何不同?谷歌并没有给我太多的满足感,而且大多数 Stackoverflow 问题都是相反的。我想很少有人问如何返回一个版本。任何人看到,知道或一些关于代码差异的发行说明(或迁移指南??)。非常感谢。

【问题讨论】:

    标签: java javafx compatibility java-7 fxml


    【解决方案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 代码(你不需要在这里概述)。

    【讨论】:

    • 一些客户坚持不迁移到新的Java版本;在这种情况下,我们无法掌控。看看我们能不能说服他们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    相关资源
    最近更新 更多