действие полосы прокрутки в Java - PullRequest
0 голосов
/ 16 декабря 2008

я начинающий в Java, У меня есть textarea, и я установил только текстовую полосу прокрутки для этого textarea. Я добавляю данные за каждую 1 минуту в textarea, проблема в том, что новые данные добавляются в текстовую область. перетащить полосу прокрутки, это не является обязательным требованием. я хочу, чтобы полоса прокрутки не двигалась вверх, она должна двигаться вниз, как я могу это сделать? Пожалуйста, помогите мне.

спасибо за ответ

Ответы [ 3 ]

1 голос
/ 16 декабря 2008

Примерно так должно работать:

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

Таким образом, это будет полностью автоматизировано.

1 голос
/ 16 декабря 2008

Вы можете сделать

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

, а затем используйте append , как вы делаете сейчас.

1 голос
/ 16 декабря 2008

Попробуйте установить позицию каретки в последнюю позицию при каждом добавлении:

textArea.setCaretLocation(textArea.getText().length());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...