JavaFx WebView-如何将其滚动到底部

时间:2018-10-04 17:12:22

标签: javafx webview

我已经在JavaFx中使用一个显示整个对话的WebView进行了对话阶段。我想从最新消息的底部开始显示它,因此我使用了“执行脚本”功能:

    public void initialize() throws SQLException
{
    buildText();
    conversationText.getEngine().loadContent(text1);
    conversationText.getEngine().executeScript("window.scrollTo(0, document.body.scrollHeight);");
    conversationText.getEngine().setUserStyleSheetLocation(getClass().getResource("/html/style.css").toExternalForm());
}

我在initialize()void中编写了此函数,但它不起作用,当我打开对话时,它从最旧的消息所在的顶部向我显示所有内容:

enter image description here

但是有趣的是,当我使用此方法与一个名为“脚本”的按钮相连的空隙时,它可以正常工作

public void script()
{
    conversationText.getEngine().executeScript("window.scrollTo(0, document.body.scrollHeight);");
}

当我按下此按钮时,它会滚动到底部:

enter image description here

有什么办法可以在初始化void中做到这一点?我尝试了很多方法,例如将按钮方法script()插入Initialize,但是我注意到,如果我使用功能webengine.loadcontent(),它总是从顶部显示我的全部。 我想从一开始就向用户显示最新消息,而不是在按下按钮之后。

0 个答案:

没有答案