JScrollPane - автоматически прокрутить вниз? - PullRequest
3 голосов
/ 12 декабря 2011

Я пытался создать панель прокрутки, которая автоматически продолжает прокручиваться вниз, когда пользователь добавляет больше строк текста в окно. Я реализовал это:

pane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
    public void adjustmentValueChanged(AdjustmentEvent e) {
        e.getAdjustable().setValue(e.getAdjustable().getMaximum());  
    }
});

"Панель" - это JScrollPane, которая содержит JList.

К сожалению, приведенный выше код прилипает полосу прокрутки к нижней части панели (что я и хотел), но тогда я не могу переместить полосу прокрутки из ее положения (так что теперь она застряла внизу). Есть ли простой способ, чтобы полоса прокрутки прилипала к нижней части экрана, но при этом была возможность прокрутки в другом месте?

Спасибо!

1 Ответ

7 голосов
/ 12 декабря 2011

Когда вы добавляете элемент в JList, вы можете использовать метод:

list.ensureIndexIsVisible(...)

где индекс - это индекс последнего элемента в списке.

...