java - 如何修复 JTextArea 滚动到底部?

标签 java swing

我已经看到了:How to set AUTO-SCROLLING of JTextArea in Java GUI?

    blackArea = new JTextArea();
    blackArea.setFont(new Font("Tahoma", Font.BOLD, 11));
    blackArea.setText("Loggend on Administrator...\n" +date);
    blackArea.setForeground(Color.RED);
    blackArea.setBackground(Color.BLACK);

    DefaultCaret caret = (DefaultCaret)blackArea.getCaret();
    caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
    blackArea.setCaretPosition(blackArea.getDocument().getLength());
    scrollPane.setViewportView(blackArea);

这很好用。当更新到 JTextArea 时,滚动会自动移动到底部,这样我就可以看到刷新数据。 但问题是,当我单击 JTextArea 中的任意空格时,自动滚动停止了。不再有自动滚动功能。 如何解决?

补充: 我将文本添加到 blackArea 调用 GUI.blackArea.append("bla bla bla"); GUI 是类名,其中以上代码包括在内。感谢@hovercraft-full-of-eels

最佳答案

查看 Smart Scrolling .这是对其他滚动答案的改进。

如果发生追加时滚动 Pane 位于底部,它将继续将滚动 Pane 保持在底部。但是,如果用户从底部移动视口(viewport),则追加不会自动滚动到底部。

关于java - 如何修复 JTextArea 滚动到底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20719929/

相关文章:

java - persistence.xml 中的 jar 文件名问题

java - 使用 JComboBox 生成具有随机尺寸的特定形状以选择形状

java - Swing:JTabbedPane 组件子类的自定义 LaF

java - 在 EDT 中使用 OSGi EventAdmin 是否安全?

java - 我试图在java中绘制正方形,但它不起作用

java - 我的 Titanium Post Works,如何在 Java Servlet 中显示?

java - 创建 OBJECT 数组时如何分配内存(堆栈和堆引用)?

java - 在android java中合并两个图像

java - 如何使 JTable 在 Java 中可编辑

java - 我如何让 ActionListener 监听按键?