0

我是java的初学者,我有textarea,我只为那个textarea设置了垂直滚动条。我每1分钟将数据附加到textarea,问题是当新数据附加到textarea滚动条时会向上移动。要查看新数据,每次我必须拖动滚动条时,这不是必需的。我希望滚动条不应该向上移动它应该向下移动我该怎么做?请帮助我。

谢谢您的回复

4

3 回答 3

1

每次追加时尝试将插入符号位置设置为最后一个位置:

textArea.setCaretLocation(textArea.getText().length());
于 2008-12-16T08:52:55.337 回答
1

像这样的东西应该工作:

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()); 
    }
});

这样,它将完全自动化。

于 2008-12-16T08:56:06.377 回答
1

你可以做

JTextArea textArea = new JTextArea();
DefaultCaret caret = (DefaultCaret)textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

然后像现在一样使用append 。

于 2008-12-16T08:58:03.377 回答