【问题标题】:How do I import the javafx correctly into eclipse? ("The import cannot be resolved")如何将 javafx 正确导入到 eclipse 中? (“无法解析导入”)
【发布时间】:2020-02-09 18:32:59
【问题描述】:

我查看了许多类似的问题,但解决方案对我没有帮助:(

This is my openjfx lib

This is the jfx doc

我可以通过两种方式导入库:

1. In the java build path 我可以毫无问题地使用所有类...但是我无法加载 java doc 或源代码,如果我这样做了,它就不起作用。

或者...

2. edit the installed JRE definitions 这样,我像在其他问题中解释的那样在已安装的 jre 中添加 jfxrt.jar,并为其提供源代码和文档。它有效! ...几乎...文档现在可以使用...但并非所有导入。 :(

import javafx.application.Platform;       //this works
import javafx.scene.control.ListView;     //this works
import javafx.scene.control.ProgressBar;  //this works
import javafx.scene.control.TextField;    //this works
import javafx.scene.layout.Background;    //this DOES NOT work :(
import javafx.scene.layout.BackgroundFill;//this DOES NOT work :(
import javafx.scene.layout.Border;        //this DOES NOT work :(
import javafx.scene.layout.BorderPane;    //this works again ._.

我得到的错误是: "导入 javafx.scene.layout.Background 无法解析"

嗯...在执行第一步时(来自This is my openjfx lib)。我绝对没有导入问题,我可以完美地工作,但是文档不起作用。

现在有了2. edit the installed JRE definitions,文档确实可以工作,但我在某些东西上遇到了导入问题,我不明白为什么:(

显然我做错了什么......(我对java很陌生)

我的 java 版本:

java version "13" 2019-09-17
Java(TM) SE Runtime Environment (build 13+33)
Java HotSpot(TM) 64-Bit Server VM (build 13+33, mixed mode, sharing)

(我之前使用 fx 时遇到了一些错误,并通过更新我的 eclipse 2019-09 得到了修复)

嗯。我希望你能帮助我^^

【问题讨论】:

  • 我也尝试了 e(fx)clipse 并在构建路径中添加了 fx-sdk 但无法解析每个导入
  • 您从哪里获得了用于 JavaFX 11+ 的 jfxrt.jar?那已经不存在了。如果它来自旧版本(10 或更少),这可能会解释一些导入问题。但这不是做到这一点的方法。见openjfx.io/openjfx-docs/#IDE-Eclipse

标签: java eclipse javafx


【解决方案1】:

要在 Eclipse 上运行 JavaFX 11+,您必须遵循此处的文档:https://openjfx.io/openjfx-docs/#IDE-Eclipse

如果你没有使用 Maven/Gradle 构建工具:

  • here下载JavaFX 13 SDK
  • 使用 JavaFX jar 创建 JavaFX13 库。
  • 将 VM 参数添加到您的运行配置中。

JavaDoc 和源代码

要使 javadoc 和源代码正常工作,您不应添加(非常旧的)jfxrt.jar,即来自旧 JavaFX 版本,因此您会因为包中的某些更改而出现不匹配。

如果您已经拥有 JavaFX13 库,那么正确的做法是:

  • 编辑库 (Eclipse -> Preferences -> Java -> Build Path -> User Libraries -> JavaFX13),并显示所有包含的 jar。如果您显示这些 jar 中的任何一个的内容,您可能会看到:

    Source attachment: (None)
    Javadoc location: (None)
    
    • 逐个jar,选择Source attachment,按下Edit...按钮,选择External location,在本地JavaFX SDK的lib文件夹下找到src.zip文件。

  • 逐个罐子,选择Javadoc location,按Edit...按钮,选择Javadoc URL,然后粘贴https://openjfx.io/javadoc/13/

  • 完成后应用并关闭。

现在,您应该在悬停任何 JavaFX 类时获得 Javadoc,并且还可以在 Ctrl+单击 JavaFX 类时访问源代码。

【讨论】:

  • 是的,这就是解决方案...我发誓我以前做过同样的事情,但它没有用 xD 这就是为什么我用旧 jar 尝试第二步:D 但现在我重新启动计算机并尝试再次第一步,文档也起作用了 xD
  • 我看到很多关于这个话题的垃圾;这是唯一一篇直截了当并解决了我遇到的问题的帖子。
猜你喜欢
  • 2019-06-17
  • 2015-06-14
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 2020-09-21
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多