http://zhizaibide1987.iteye.com/blog/1012955
https://zhidao.baidu.com/question/2116908942184706107.html
JTextPane或JTextPane设置了滚动条,文本增加后,滚动条自动下滑
例如:日志打印窗口,日志增加后,滚动条自动下滑,显示最新的日志。
实现方法:将光标移动到文本的最后。
JTextArea的实现:
- //实现垂直滚动条自动下滑到最低端
- logTxtArea.setCaretPosition(logTxtArea.getText().length());
JTextPane的实现:
- //实现垂直滚动条自动下滑到最低端
- msgShowTxtPane.setCaretPosition(msgShowTxtPane.getStyledDocument().getLength());
java的JtextPane没有append方法,可以使用Document来添加文本,例子如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
//设置字体大小 SimpleAttributeSet attrset = new SimpleAttributeSet(); StyleConstants.setFontSize(attrset, 24 ); //插入内容 JTextPane textPane = new JTextPane(); Document docs = textPane.getDocument(); //获得文本对象 try { docs.insertString(docs.getLength(), "要插入的内容" , attrset); //对文本进行追加 } catch (BadLocationException e) { e.printStackTrace(); } |