JavaFX 显示文本区域追加 - 有什么方法可以 highlight/make 使新文本更明显?

JavaFX display text area appending - any way to highlight/make new text more visible?

我的 JavaFX 应用程序中有一个显示文本区域。

它有几种附加字符串的方法。

我想要的是任何新添加的文本都有某种反馈,以便用户更直观地了解正在显示的新文本。

理想情况下,我想要以下之一,但我非常愿意接受其他建议:

尽管如此,我愿意接受建议!

谢谢。

按照 Highlighting Strings in JavaFX TextArea 中的建议,您可以 select 新文本。

假设文本区域不可编辑,并且您只是在现有文本的末尾追加,您可以这样做:

textArea.textProperty().addListener((obs, oldText, newText) -> {
    if (newText.length() > oldText.length()) {
        Platform.runLater(() ->
            textArea.selectRange(oldText.length(), newText.length()));
    }
});

如果您的文本区域是可编辑的,或者您正在更广泛地使用它,那么您可以在每次追加文本时执行类似的操作。例如:

String message = ... ;
textArea.positionCaret(textArea.getLength());
textArea.appendText(message);
textArea.extendSelection(textArea.getLength());

也许可以尝试使用 RichTextArea (https://github.com/TomasMikula/RichTextFX),然后以不同的方式显示文本的可能性有很多。