我是java的初学者,我有textarea,我只为那个textarea设置了垂直滚动条。我每1分钟将数据附加到textarea,问题是当新数据附加到textarea滚动条时会向上移动。要查看新数据,每次我必须拖动滚动条时,这不是必需的。我希望滚动条不应该向上移动它应该向下移动我该怎么做?请帮助我。
谢谢您的回复
每次追加时尝试将插入符号位置设置为最后一个位置:
textArea.setCaretLocation(textArea.getText().length());
像这样的东西应该工作:
JTextArea display= new JTextArea();
JScrollPane scroll =new JScrollPane(display);
scroll.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){
public void adjustmentValueChanged(AdjustmentEvent e){
JTextArea textArea = (JTextArea)e.getSource();
textArea.setCaretPosition(textArea.getDocument().getLength());
}
});
这样,它将完全自动化。
你可以做
JTextArea textArea = new JTextArea();
DefaultCaret caret = (DefaultCaret)textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
然后像现在一样使用append 。