“方法”;调整大小();不适用于JavaFX中的Webview

“方法”;调整大小();不适用于JavaFX中的Webview,java,javafx,webview,javafx-8,Java,Javafx,Webview,Javafx 8,在我的代码中,我想更改WebView对象的大小。这是代码的一部分: textbox.setOnKeyPressed(new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent ke) { if(ke.getCode() == KeyCode.ENTER){ System.out.println("Enter pressed!");

在我的代码中,我想更改WebView对象的大小。这是代码的一部分:

    textbox.setOnKeyPressed(new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent ke) {
        if(ke.getCode() == KeyCode.ENTER){

            System.out.println("Enter pressed!");
            if(webEngine.isResizable())
                  System.out.println("It's Resizable!");
            webEngine.resize(300,200);     //doesn't work!

        }
    }
    });
textbox.setOnKeyPressed(新的EventHandler(){
@凌驾
公共无效句柄(KeyEvent ke){
if(ke.getCode()==KeyCode.ENTER){
System.out.println(“按回车键!”);
if(webEngine.isResizable())
System.out.println(“它可以调整大小!”);
webEngine.resize(300200);//不起作用!
}
}
});
它编译和运行时不会出现错误,“Enter pressed!”“它可以调整大小!”当我按Enter键时,控制台上会显示消息,但webEngine对象的大小不会改变


有人能帮我吗?谢谢。

您应该尝试将您的WebView放在您选择的容器中,然后调整容器的大小。您还应该在if语句周围放上括号,并像这样添加resize

VBox vbox = new VBox();
vbox.getChildren().add(webView);
if(vbox.isResizable()){
    System.out.println("It's Resizable!");
    vbox.resize(300,200);     //doesn't work!
}
我运行这段代码来测试它,它运行得非常完美,我的意思是它已经调整了大小

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        VBox vbox = new VBox();
        TextField textbox = new TextField();
        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        webEngine.load("https://www.google.com/");

        textbox.setOnKeyPressed(ke -> {
            if(ke.getCode() == KeyCode.ENTER){

                System.out.println("Enter pressed!");

                if(vbox.isResizable()) {
                    System.out.println("It's Resizable!");
                    vbox.resize(300, 200);     //doesn't work!
                }
            }
        });

        vbox.getChildren().addAll(textbox,webView);
        Scene scene = new Scene(vbox);
        Stage stage = new Stage();
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) { launch(args); }
}