一尘不染

如何在JavaFX中设置WebView?

java

@FXML
void openCaptchaSolver(MouseEvent event) {
    Stage primaryStage = (Stage)((Node)event.getSource()).getScene().getWindow();
    Stage secondaryStage = new Stage();
    WebView web = new WebView();
    WebEngine engine = web.getEngine();
    engine.load("https://www.google.com");
    VBox root = new VBox();
    root.getChildren().addAll(web);
    secondaryStage.setScene(new Scene(root, 500, 575));
    secondaryStage.setTitle("Secondary Stage");
    secondaryStage.show();
}

我正在尝试使用JavaFX中的WebView入门,但是当尝试打开W​​ebView时,我收到以下所示的错误,我该如何解决此问题?

Caused by: java.lang.IllegalAccessError: superclass access check failed: class com.sun.javafx.sg.prism.web.NGWebView (in unnamed module @0x6b0c2d26) cannot access class com.sun.javafx.sg.prism.NGGroup (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.sg.prism to unnamed module @0x6b0c2d26

阅读 759

收藏
2020-12-03

共1个答案

一尘不染

尝试运行WebView时遇到任何错误时,请确保您的VM选项包含模块javafx.web。

虚拟机选项: --module-path C:\path\to\javafx\openjfx-13.0.1_windows-x64_bin- sdk\javafx-sdk-13.0.1\lib --add-modules javafx.controls,javafx.fxml,javafx.web

在IntelliJ中,您可以通过转到IDE右上方的“编辑配置”按钮来访问VM选项。

2020-12-03