Я сделал этап беседы в JavaFx с WebView, который отображает весь разговор.Я хочу показать его снизу, где находятся самые новые сообщения, поэтому я использовал функцию «execute script»:
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 (), но она не работает, когдаЯ открываю разговор, он показывает мне все сверху, где самые старые сообщения:
Но что интересно, он работает правильно, когда я использую этот методобразуя пустоту, связанную с кнопкой с именем «script»
public void script()
{
conversationText.getEngine().executeScript("window.scrollTo(0, document.body.scrollHeight);");
}
, когда я нажимаю эту кнопку, она прокручивается вниз:
Есть ли способ сделать это правильно в void инициализации?Я пробовал много способов, таких как вставка метода метода button () в инициализацию, но я заметил, что если я использую функцию webengine.loadcontent (), она всегда отображает меня сверху.Я хочу показать пользователю самые новые сообщения внизу с самого начала, а не после нажатия кнопки.