已经用JScrollPane包装
我使用了
JScrollBar bar=textarea.getVerticalScrollBar();
bar.setValue(bar.getMaximum());
但是最新添加进的几行还是放在屏幕之外
请问有什么解决办法,谢谢
我使用了
JScrollBar bar=textarea.getVerticalScrollBar();
bar.setValue(bar.getMaximum());
但是最新添加进的几行还是放在屏幕之外
请问有什么解决办法,谢谢
editPane.setCaretPosition(editPane.getText().length());
private JTextPane textarea = new JTextPane();
...
textareaWrapper=new JScrollPane(textarea);
...(插入部分的代码)
insert(...);
JScrollBar bar=textareaWrapper.getVerticalScrollBar();
bar.setValue(bar.getMaximum());
...insert方法
public void insert(String str, AttributeSet attrSet) {
Document doc = textPane.getDocument();
try {
doc.insertString(doc.getLength(), str, attrSet);
} catch (BadLocationException e) {
System.out.println("BadLocationException: " + e);
}
}
大概就是这个样子,按照setCaret会报异常
textArea.setCaretPosition(textArea.getText().length());
textArea.append(msg);