如何将 javafx 正确导入到 eclipse 中?(“无法解析导入”)

nni*_*nja 1 java eclipse javafx

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

这是我的 openjfx 库

这是 jfx 文档

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

1.在java构建路径中, 我可以使用这种方式所有的类都没有问题......但是我无法加载java文档或源代码,如果我这样做,它就不起作用。

或者...

2. 编辑已安装的 JRE 定义 这样我在已安装的 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 ._.
Run Code Online (Sandbox Code Playgroud)

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

好吧......在做第一步时(来自这是我的 openjfx lib)。我绝对没有导入问题,我可以完美地工作,但文档不起作用。

现在使用2. 编辑已安装的 JRE 定义,文档确实可以工作,但我在某些内容上遇到了导入问题,我不明白为什么:(

显然我做错了什么......(我对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)
Run Code Online (Sandbox Code Playgroud)

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

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

Jos*_*eda 6

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

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

  • 这里下载 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)
    
    Run Code Online (Sandbox Code Playgroud)
    • 逐个jar,选择Source attachment,按下Edit...按钮,选择External location,找到src.zip你本地JavaFX SDK的lib文件夹下的文件。

源代码和 Javadoc

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

  • 完成后应用并关闭。

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