在Eclipse中无法识别JavaFX。

14
JavaFX应该包含在最新版本的JDK中。我正在使用1.7版本17。像这样的导入:
import javafx.fxml.Initializable;

不被识别。我宁愿不手动链接到jar文件。
我听说这是一个之前的错误,但应该已经修复了。https://bugs.java.com/bugdatabase/view_bug?bug_id=7166330 有人知道如何识别javafx吗?我不想让e(fx)clipe为我做这个,也不想链接jar文件。据我所知,它现在已经包含在最新版本的jdk中,所以我应该能够像上面那样导入对吧?
4个回答

13

在Ubuntu 14.10上,我需要首先安装openjfx。

sudo apt-get install openjfx

然后我使用 e(fx)clipse 和默认的 JRE(java-8-openjdk-amd64) 创建了一个默认项目。


13

JavaFX在JDK7的默认类路径上不存在-请查看修复该问题的版本!

JDK8中已经修复了这个问题,并且JavaFX在ExtensionClasspath上,但您仍将从Eclipse中收到警告,因为扩展类路径上的内容被认为是实现细节-您可以在JRE-Runtimes中自行解决此问题。

您对e(fx)clipse有什么问题吗?无论您使用JDK7还是JDK8进行开发,它都可以解决您所有的问题。


1
谢谢Tom。我实际上已经安装了你的e(fx)clipse,但它没有修复导入,并且任何@FXML都无法识别。我意识到这一点是因为我按照你在这里的链接http://efxclipse.org/install.html#for-the-ambitious,它告诉我已经安装了。我之前提到过我不想使用其他东西,只是因为我认为现在应该可以在不做任何“特殊”处理的情况下工作。 - Matt
你现在已经成功运行了 e(fx)clipse 吗?如果你在运行过程中遇到问题,我们应该尝试找出是什么原因导致无法正常工作。其中一个可能的原因是你的 eclipse 没有使用 JDK7 启动,因此 e(fx)clipse 无法加载。你还需要使用向导创建项目或手动添加 JavaFX 类路径容器,使用项目属性对话框。 - tomsontom
它必须在运行,因为我可以使用 CSS 提示功能... 我的控制器类仍然无法识别任何 JavaFX 导入,如上所述... 我应该使用向导重新创建项目以查看是否有帮助? - Matt
每次启动时我也会收到这个“您是否要将Xtext性质添加到项目中”的提示。 - Matt
这是关于编程的内容,翻译成中文如下:因为CSS-Editor基于Xtext开发,所以只需将JavaFX-Classpath-Container添加到您想要在其中使用JavaFX的项目中即可。 - tomsontom

6
您可以手动添加“jfxrt.jar”!它在安装的JDK中。例如:
  • Windows XP:“C:\ Program Files \ Java \ jdk1.7.0_17 \ jre \ lib \ jfxrt.jar
  • Windows 7(32位):“C:\ Program Files(x86)\ Java \ jdk1.7.0_17 \ jre \ lib \ jfxrt.jar
  • Windows 7(64位):“C:\ Program Files \ Java \ jdk1.7.0_17 \ jre \ lib \ jfxrt.jar
将jar文件复制并放入项目的子文件夹中(例如/lib)。
现在将“jfxrt.jar”添加到类路径中。单击项目上的鼠标右键,从属性- > Java Build Path- >库- >从...添加JAR文件,并添加jar文件。

谢谢。我已经使用您的答案以及这个其他的SO答案:https://dev59.com/vGUp5IYBdhLWcg3wbnMS,通过在Maven依赖项中设置Java FX jar的路径来解决了我的问题。 - Anthony BONNIER

0

步骤1 - 从您的项目中删除module-info.java文件

步骤2 - 设置VM参数 点击运行-> 运行配置 -> 参数

添加路径,例如(我的SDK位于文档文件夹中)

--module-path /Users/MICROSOFT/Documents/javafx-sdk-17.0.6/lib --add-modules javafx.controls,javafx.fxml


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接