使用Intellij 2021.3.2,JavaFX版本:11.0.2+1。
我正在尝试将 JavaFX WebView 添加到我的应用程序中。我的导入语句无法编译:
import javafx.scene.web;
编译错误:
java:找不到符号
符号:类网络
位置:包javafx.scene
据我所知,JavaFX 版本 11 应该包含 .web 包。也许我必须安装一些特定的东西才能使用它?
这是一种方法:
- 创建一个新的 JavaFX 项目 https://www.jetbrains.com/help/idea/javafx.html.
- Edit
pom.xml
.
- Add a dependency on
javafx-web
.
- 使用与该文件中其余 JavaFX 依赖项相同的版本。
- 点击 Maven 窗口中的刷新图标,将 Maven 项目与 IDE 项目重新同步。
- Edit
module-info.java
.
- 添加行
requires javafx.web;
.
POM 摘录示例:
…
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>20.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>20.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>20.0.2</version>
</dependency>
…
Example module-info.java
:
module com.example.exfxwebview {
requires javafx.controls;
requires javafx.fxml;
requires javafx.web;
opens com.example.exfxwebview to javafx.fxml;
exports com.example.exfxwebview;
}
您现在可以使用WebView https://openjfx.io/javadoc/20/javafx.web/javafx/scene/web/WebView.html在你的代码中。
或者,采用您现有的项目,遵循 kleopatra 链接的答案中的建议:
- 运行 JavaFx 媒体应用程序时出现模块错误 https://stackoverflow.com/questions/53237287/module-error-when-running-javafx-media-application
并添加在javafx.web
module 无论答案是指添加模块。
答案类似于下面讨论的javafx.media
module:
- 无法使用 MediaPlayer 类,找不到 javafx.media https://stackoverflow.com/questions/64016623/can-not-work-with-mediaplayer-class-javafx-media-is-not-found
我建议使用最新稳定版本的 Java 和 JavaFX 进行开发,目前为 20.0.2,而不是 JavaFX 11,特别是如果您的 Mac 配备苹果硅 https://en.wikipedia.org/wiki/Apple_silicon (M1 https://en.wikipedia.org/wiki/Apple_silicon#Apple_M1, M2 https://en.wikipedia.org/wiki/Apple_silicon#Apple_M2)。只有 JavaFX 17.0.2+ 适用于这些 Mac。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)