“方法”;调整大小();不适用于JavaFX中的Webview
在我的代码中,我想更改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!");
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); }
}