首页 > 解决方案 > Javafx mvvmfx textarea 追加

问题描述

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

标签: javajavafxappendtextareamvvmfx

解决方案


JavaFX 组件TextArea继承了该方法setText(String value)TextInputControl其文档如下:

设置属性文本的值。

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

将一系列字符附加到内容中。

两个输入都String value必须不是null

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

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

推荐阅读