如何通过单击按钮清除JavaFX的WebView内容?

Mad*_*Pro 1 javafx view web

我想知道如何通过单击带有javaFX的按钮来清除webview的内容?那我该怎么做呢?例如:WebView1包含谷歌网页,而点击按钮应清除此页面

Jam*_*s_D 5

您可以通过加载一些空内容来清除Web视图:

webView.getEngine().loadContent("");
Run Code Online (Sandbox Code Playgroud)

完整的例子:

import java.util.regex.Pattern;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class WebBrowser extends Application {

    private TextField textField ;
    private WebView webView ;

    @Override
    public void start(Stage primaryStage) {
        webView = new WebView();
        textField = new TextField("https://www.google.com");
        textField.setOnAction(e -> load());
        load();

        Button clearButton = new Button("Clear");
        clearButton.setOnAction(e -> webView.getEngine().loadContent(""));
        BorderPane root = new BorderPane(webView, new HBox(10, textField, clearButton), null, null, null);

        textField.setPadding(new Insets(5));
        root.setPadding(new Insets(5));
        Scene scene = new Scene(root, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.show();
    }


    private void load() {
        String url = makeUrl(textField.getText()) ;
        webView.getEngine().load(url);
        textField.setText(url);
    }


    private String makeUrl(String text) {
        if (Pattern.matches("[a-zA-Z]+:.+", text)) {
            return text ;
        } else return "http://"+text ;
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)