Javafx mvvmfx 文本区域追加

Javafx mvvmfx textarea append

我的 JavaFX 应用程序有问题。问题是我不能使用追加函数,只能使用 setText。为什么这是一个问题是因为自动滚动在没有追加的情况下无法工作。每次出现新文本时更新或自动滚动我的 TextArea 的方法是什么?

JavaFX 组件 TextArea inherits the method setText(String value) from TextInputControl 及其文档说:

Sets the value of the property text.

这意味着文本被设置为一个新文本。要在文本中插入一个新行(更新、追加),您还必须使用继承的方法 appendText(String value)

Appends a sequence of characters to the content.

两个输入 String value 都不能是 null

要滚动到最后,您必须实现一个由任何文本更改 (setText()appendText()) 触发的侦听器,并使用方法 setScrollTop(double value) 执行滚动。参数 double value 是内容垂直滚动的像素数 - 使用最大可能的双精度值 Double.MAX_VALUE 使其滚动到末尾。

textArea.textProperty().addListener((observable, oldValue, newValue) ->  
    textArea.setScrollTop(Double.MAX_VALUE);
});