JavaFX在2台监视器上调整webview大小的问题

JavaFX在2台监视器上调整webview大小的问题,java,javafx,webview,javafx-8,javafx-webengine,Java,Javafx,Webview,Javafx 8,Javafx Webengine,我是javaFX新手,正在使用webview。在我的小显示器上一切正常,我可以看到webview的所有内容。但当我将应用程序拖到更大的显示器(1920 x 1080)分辨率时。我只能看到webview的一部分。 这是我的大显示器上WebView的外观: double height = Screen.getPrimary().getBounds().getHeight(); double width = Screen.getPrimary().getBounds().getWidt

我是javaFX新手,正在使用webview。在我的小显示器上一切正常,我可以看到webview的所有内容。但当我将应用程序拖到更大的显示器(1920 x 1080)分辨率时。我只能看到webview的一部分。 这是我的大显示器上WebView的外观:

double height = Screen.getPrimary().getBounds().getHeight();
        double width = Screen.getPrimary().getBounds().getWidth();

        StackPane root = new StackPane();
        //Create WebView
        WebView view = new WebView();
        view.setMinWidth(width);
        view.setMinHeight(height);

正如您所看到的,我无法在更大的显示器上看到webview的所有内容。 我尝试过这样调整webview的大小,以便在更大的显示器上看到所有内容:

double height = Screen.getPrimary().getBounds().getHeight();
        double width = Screen.getPrimary().getBounds().getWidth();

        StackPane root = new StackPane();
        //Create WebView
        WebView view = new WebView();
        view.setMinWidth(width);
        view.setMinHeight(height);
现在的问题是,对于我较小的屏幕,webview的高度和宽度太大了

我在选项卡窗格的选项卡中显示我的webview,如下所示:

tabPane.getTabs().add(tab1);
tab1.setContent(view);
如何使webview大小调整到舞台当前的屏幕?
感谢您提供的任何帮助

首先-我高度推荐您使用SceneBuilder(拖放用户界面设计):

SceneBuilder将视图存储在FXML文件中,您可以按如下方式使用它:

@Override
public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
    primaryStage.setTitle("Hello World");
    primaryStage.setScene(new Scene(root, 300, 275));
    primaryStage.show();
}
我还建议您与IntelliJ合作:

如果这样做,可以设置pref width/height属性的值,以便在SceneBuilder GUI上使用\u COMPUTED\u SIZE,这将解决您的问题

没有SceneBuilder的另一个(丑陋的)解决方案是:

setMinWidth(getWidth());
setMinHeight(getHeight());

我看到右边有一个小窗格。我猜HTML高度需要设置为更高的值,或者JavaFX节点高度需要设置为更高的值。我倾向于第一个。我如何将HTML的高度设置为更高的值?我刚刚访问了test.com。这个问题在我的机器上没有那么严重。我认为这里的问题可能是网站背后的技术。试着看看你是否仍然有这个问题。我在webview中访问的每个网站上都是一样的。问题不在于网站,问题在于webview的宽度和长度与我的小显示器相同,但与我的大显示器不同,所以当我在更大的显示器上打开应用程序时,我只能看到WebView的一部分。我有一个24英寸的显示器,我在谷歌的网站上没有问题。嘿,谢谢,我会记住这一点,并在我的下一个项目中使用SceneBuilder。对于丑陋的解决方案,我需要在什么属性上设置最小宽度和高度?我尝试过这样做:view.setMinWidth(getWidth());view.setMinHeight(getHeight());但是它找不到getWidth()和getHeight()。请尝试root.setMaxHeight(root.getMaxHeight());我没有一个名为root的属性,但我只是创建了一个名为root的stackpane,将webview放入其中并执行了:root.setMaxHeight(root.getMaxHeight());setMaxWidth(root.getMaxWidth());但它不起作用