gpt4 book ai didi

java - 如何在 Java GUI 中设置 JTextArea 的自动滚动?

转载 作者:IT老高 更新时间:2023-10-28 13:52:09 25 4
gpt4 key购买 nike

我在 JScrollPane 上嵌入了一个 JTextArea,并使用该 JTextArea 进行输出。

我希望每当输出超出 JTextArea 的大小时,JTextArea 就会自动滚动,这样用户就不必手动向下滚动来查看最近的输出。

我该怎么做?

我已经将 JTextArea 和 JScrollPane 的 autoscroll 属性设置为 true。

最佳答案

在使用 JDK1.4.2(或更早版本)时,您会在论坛中找到的最常见建议是使用如下代码:

textArea.append(...);
textArea.setCaretPosition(textArea.getDocument().getLength());

但是,我刚刚注意到,在 JDK5 中,这个问题实际上已通过 API 更改得到解决。您现在可以通过在文本区域的 DefaultCaret 上设置属性来控制此行为。使用这种方法,代码将是:

JTextArea textArea = new JTextArea();
DefaultCaret caret = (DefaultCaret)textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

注意:

上述设置插入符号更新策略的建议不起作用。

相反,您可能想查看 Smart Scrolling这使用户能够确定何时滚动应该是自动的。

可以在此处找到有关文本区域中自动滚动的更详细说明:Text Area Scrolling

关于java - 如何在 Java GUI 中设置 JTextArea 的自动滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1627028/

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