某些 JavaFX 导入无法在 Eclipse 中解析
Some JavaFX Imports Cannot Be Resolved in Eclipse
我正在创建一个小型 JavaFX 库,运行 遇到了一些导入问题。我一直在通过在 Dropbox 上托管 Eclipse Workspace 在我的 PC 和笔记本电脑上进行编程,并且一切正常。我在两台机器上都安装了 e(fx)clipse,现在已经制作 JavaFX 程序几个月了,没有任何问题。
现在,我最近在我的笔记本电脑上开始了一个新项目,它也运行良好;然而,当我打开我的电脑时,我发现了一堆 "The import _____ cannot be resolved" 错误。
奇怪的是,大多数 javafx classes 都可以正常导入,似乎 javafx.scene.control
包中的一些 classes 有问题。在我目前拥有的 class 中,我正在导入这些 JavaFX classes:
import javafx.application.Platform;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.DialogPane;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.Region;
import javafx.stage.FileChooser;
它们都工作正常,除了三个:javafx.scene.control.ButtonType
、javafx.scene.control.Dialog
和 javafx.scene.control.DialogPane
。
我做了很多研究并尝试了以下方法但没有成功:
- 卸载并重新安装 e(fx)clipse
- 手动将 jfxrt.jar 文件添加到项目
- 多次清理、重建和刷新项目
- 从构建路径中删除了 JRE 并重新添加了它
- 使用“新建”>“JavaFX 项目”并复制代码重新创建项目
超过
似乎没有任何效果,我不明白为什么一台计算机上会丢失包中的一些 classes。有人对此有解决方案吗?
你需要:
javafx-dialogs-x.x.x.jar
和
javafx-ui-controls.jar
好吧,我在发布问题后大约 5 分钟就想通了……当然。
我在两台计算机的“程序”和“功能”下查看了已安装的 Java 版本。它们看起来一样,但我意识到我的笔记本电脑是 Java 8u40,而我的 PC 是 Java 8u25。我查看了 javafx.scene.control.Dialog 的 Java 文档,果然,它被标记为 @since JavaFX 8u40
,所以我现在正在安装新的 JDK。
我正在创建一个小型 JavaFX 库,运行 遇到了一些导入问题。我一直在通过在 Dropbox 上托管 Eclipse Workspace 在我的 PC 和笔记本电脑上进行编程,并且一切正常。我在两台机器上都安装了 e(fx)clipse,现在已经制作 JavaFX 程序几个月了,没有任何问题。
现在,我最近在我的笔记本电脑上开始了一个新项目,它也运行良好;然而,当我打开我的电脑时,我发现了一堆 "The import _____ cannot be resolved" 错误。
奇怪的是,大多数 javafx classes 都可以正常导入,似乎 javafx.scene.control
包中的一些 classes 有问题。在我目前拥有的 class 中,我正在导入这些 JavaFX classes:
import javafx.application.Platform;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.DialogPane;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.Region;
import javafx.stage.FileChooser;
它们都工作正常,除了三个:javafx.scene.control.ButtonType
、javafx.scene.control.Dialog
和 javafx.scene.control.DialogPane
。
我做了很多研究并尝试了以下方法但没有成功:
- 卸载并重新安装 e(fx)clipse
- 手动将 jfxrt.jar 文件添加到项目
- 多次清理、重建和刷新项目
- 从构建路径中删除了 JRE 并重新添加了它
- 使用“新建”>“JavaFX 项目”并复制代码重新创建项目 超过
似乎没有任何效果,我不明白为什么一台计算机上会丢失包中的一些 classes。有人对此有解决方案吗?
你需要:
javafx-dialogs-x.x.x.jar
和
javafx-ui-controls.jar
好吧,我在发布问题后大约 5 分钟就想通了……当然。
我在两台计算机的“程序”和“功能”下查看了已安装的 Java 版本。它们看起来一样,但我意识到我的笔记本电脑是 Java 8u40,而我的 PC 是 Java 8u25。我查看了 javafx.scene.control.Dialog 的 Java 文档,果然,它被标记为 @since JavaFX 8u40
,所以我现在正在安装新的 JDK。