JavaFX Eclipse 建议导入不存在

问题描述

我刚开始使用 JavaFX,出于某种原因,Eclipse 不建议导入 JavaFX 的东西,所以我必须手动输入。示例:javafx.scene.Group 我将 Group 作为类型输入,它建议其他内容,例如 javax.swing.GroupLayout.Group image of suggestions

我不太确定,但我认为 JavaFX 库在 Modulepath 而不是 Classpath 下的事实可能与它有关,但它仅在它在 Modulepath 下时才有效。

非常感谢您的帮助,谢谢!

解决方法

我正在重写这个答案,正如@kleopatra 指出的那样不准确

要使建议生效,您需要在项目的构建路径上安装 JavaFX。

如果您在 Eclipse 中创建了一个普通的 Java 项目,并且在其源路径根目录中有一个 module-info.java,那么您需要将所有必需的 jar 添加到模块路径中:

  • JavaFX SDK 应该已经安装在您的系统上,或者从 Gluon 下载并解压
  • 右键单击您的 Java 项目,进入 Build Path -> Configure Build Path...
  • 转到标签,指向模块路径部分
  • 点击[Add External JARs...]按钮,选择JavaFX SDK中的所有jars,点击[Apply and close] Screenshot

然后建议应该按预期工作,imports 将自动插入到您的 java 文件的顶部,但是当您第一次从给定的库模块导入任何内容时,它们会出现错误,因为这个模块还必须必需在您的 module-info.java 中。将鼠标悬停在 import 上时,您可以通过快速修复(“将 'requires javafx.something' 添加到 module-info.java”)自动执行此操作。

现在有一种更直接的方法可以在 Eclipse 中创建 JavaFX 模块化项目,使用 Maven

  • 创建一个新的 Maven 项目
  • 检查并通过第一个向导屏幕
  • 选择原型org.openjfx:javafx-archetype-fxml
  • 在下一个屏幕上,您可以选择您选择的 JavaFX 版本(当前默认为 13)

向导终止后,您已经设置了一个漂亮的小项目,其中包含一个应用程序窗口和两个 FXML 示例显示。您可以从那里开始构建自己的项目。

Maven archetype

Maven JavaFX Version