某些 JavaFX 导入在 Eclipse 中无法解析

Posted

技术标签:

【中文标题】某些 JavaFX 导入在 Eclipse 中无法解析【英文标题】:Some JavaFX Imports Cannot Be Resolved in Eclipse 【发布时间】:2015-06-14 01:12:51 【问题描述】:

我正在创建一个小型 JavaFX 库,但在导入时遇到了一些问题。通过在 Dropbox 上托管 Eclipse 工作区,我一直在我的 PC 和笔记本电脑上进行编程,一切正常。我在两台机器上都安装了 e(fx)clipse,并且已经制作 JavaFX 程序几个月了,没有任何问题。

现在,我最近在我的笔记本电脑上启动了一个新项目,该项目运行良好;但是,当我打开我的电脑时,我发现了一堆“无法解决导入 _____”的错误。

奇怪的是,大多数 javafx 类都可以正常导入,只是 javafx.scene.control 包中的某些类似乎有问题。在我目前的一个类中,我正在导入这些 JavaFX 类:

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.ButtonTypejavafx.scene.control.Dialogjavafx.scene.control.DialogPane,它们都可以正常工作。

我做了很多研究并尝试了以下方法但没有成功:

卸载并重新安装 e(fx)clipse 手动将 jfxrt.jar 文件添加到项目中 多次清理、重建和刷新项目 从构建路径中删除了 JRE 并重新添加了它 使用 New>JavaFX 项目重新创建项目并复制代码 结束

似乎没有任何工作,我不明白包中的某些类如何在一台计算机上丢失。有人对此有解决方案吗?

【问题讨论】:

【参考方案1】:

好吧,我在发布问题大约 5 分钟后发现了这一点……当然。

我查看了两台计算机上程序和功能下已安装的 Java 版本。它们看起来一样,但我意识到我的笔记本电脑使用的是 Java 8u40,而我的 PC 使用的是 Java 8u25。我查看了 javafx.scene.control.Dialog 的 JavaDocs,果然,它被标记为 @since JavaFX 8u40,所以我现在正在安装新的 JDK。

【讨论】:

大声笑 - 我花了很长时间才找到这个并意识到该类是 jdk 的一部分。【参考方案2】:

你需要:

javafx-dialogs-x.x.x.jar

javafx-ui-controls.jar

这里描述: enter link description here

【讨论】:

以上是关于某些 JavaFX 导入在 Eclipse 中无法解析的主要内容,如果未能解决你的问题,请参考以下文章

导入 javafx.scene.control.Alert 无法解析

无法访问类 com.sun.javafx.util.Utils(在模块 javafx.graphics 中)-JavaFX 和 Eclipse

JavaFX未使用Java 8导入

即使在eclipse中安装javafx后我也无法运行javafx程序[重复]

javafx如何导入文件

java用eclipse在使用fx包时导入import javafx.application.Application;显示错误