gpt4 book ai didi

JavaFX ScrollPane - 更新时向下滚动

转载 作者:行者123 更新时间:2023-11-30 06:22:31 45 4
gpt4 key购买 nike

我制作了一个包含 TextAreaScrollPane。当TextArea通过push()方法获取额外文本时,需要将滚动条设置到底部。但是,当使用 push() 时,条形图会设置为顶部。我不知道需要什么方法才能将其设置到底部。

这是ScrollPane代码:

package Games.UI.RPG;

import Games.Other.Constants;
import javafx.event.EventHandler;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextArea;
import javafx.scene.input.ScrollEvent;

/**
* Scrollable window which contains Text messages.
*/
class LogPane extends ScrollPane{

private TextArea log;

LogPane(){
initialize();
}

private void initialize(){
log = new TextArea();
log.setEditable(false);
log.prefWidth(512);
log.setText("Text Log loaded. Messages:");

setContent(log);
setFitToWidth(true);
setFitToHeight(true);

setMinHeight(Constants.height);
setMaxHeight(Constants.height);
setMinWidth(Constants.width / 3);
setMaxWidth(Constants.width / 3);
}

public void push(String message){
log.setText(log.getText() + "\n" + message);
setVvalue(getVmax());
}
}

最佳答案

正如 user1803551 所指出的,您正在使用 ScrollPaneTextAreaTextArea 当文本变长时会滚动。因此,您需要将 TextArea 滚动条移动到底部,因为 ScrollPane 滚动条永远不会显示。

public void push(String message)
{
log.setText(log.getText() + "\n" + message);
log.selectPositionCaret(log.getLength());
log.deselect();
}

TextArea 滚动到底部的其他方法 here 。我个人更喜欢 log.appendText();

关于JavaFX ScrollPane - 更新时向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47838458/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com