【问题标题】:fit the content to WebView in JavaFx使内容适合 JavaFx 中的 WebView
【发布时间】:2015-07-13 19:10:39
【问题描述】:

我在获取 Web 视图内容的大小时遇到​​问题。这是我的代码

 String heightText = (String) engine.executeScript("window.getComputedStyle(document.body,null).getPropertyValue('height')");
    double height = Double.valueOf(heightText.replace("px", ""));
    String widthText = web1.getEngine().executeScript(
            "window.getComputedStyle(document.body,null).getPropertyValue('width')"
    ).toString();
    double width = Double.valueOf(widthText.replace("px", ""));
    web1.setPrefHeight(height);
    web1.setPrefWidth(width);
    System.out.println(height + "  " + width);


}

但第一次引用0,其他时候结果错误。

实际上我不得不编辑我的问题。上面的代码显示了之前内容的大小。。为什么会这样? 请帮忙。谢谢

【问题讨论】:

  • 请指定您正在使用的 Java FX 的正确版本。

标签: java javafx javafx-2 javafx-8


【解决方案1】:

确保在Stage.show() 或显示相应窗口的代码之后调用此代码。在 UI 初始化之前,所有的 height 和 width getter 都返回零。

【讨论】:

    【解决方案2】:

    确保在检索文档属性之前等到文档加载完毕。如WebEngine javadoc 中所述,对负载工作程序的状态属性使用更改侦听器。

    免责声明:我已经很长时间没有尝试这样做了,因此该技术可能适用于也可能不适用于当前和更高版本的 JavaFX。


    如果你想generate a layout pass为场景图,使用applyCss/layout函数,否则修改一些prefWidth,那么得到设置的宽度可能不会匹配。


    另见:

    【讨论】:

      猜你喜欢
      • 2014-05-12
      • 1970-01-01
      • 2012-12-25
      • 2019-09-03
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 2023-03-17
      • 2020-09-22
      相关资源
      最近更新 更多