我已经看到了: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/