【发布时间】:2018-06-01 10:40:21
【问题描述】:
我的 JavaFX 应用程序有问题。问题是我不能使用附加功能,只能使用 setText。为什么这是一个问题是因为自动滚动在没有附加的情况下不起作用。每次出现新文本时如何更新或自动滚动我的 TextArea?
【问题讨论】:
标签: java javafx append textarea mvvmfx
我的 JavaFX 应用程序有问题。问题是我不能使用附加功能,只能使用 setText。为什么这是一个问题是因为自动滚动在没有附加的情况下不起作用。每次出现新文本时如何更新或自动滚动我的 TextArea?
【问题讨论】:
标签: java javafx append textarea mvvmfx
JavaFX 组件 TextArea 从 TextInputControl 继承方法 setText(String value) 及其文档:
设置属性文本的值。
这意味着文本被设置为一个新的。要插入新行(更新、追加)文本,您还必须使用继承的方法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);
});
【讨论】: