Swing, VerticalScrollBar - Java
Формулировка задачи:
Листинг программы
- public void resetScrollPosition() {
- mainTextContainer.getVerticalScrollBar().setValue(mainTextContainer.getVerticalScrollBar().getMaximum());
- }
mainTextContainer - это не JPanel, а JScrollPane.
repaint() и validate() не помогают.
Когда добавил сон перед методом resetScroll на 5 миллисекунд и добавил repaint() и validate(), то стало хотя бы на входящие сообщения реагировать нормально(вероятно из-за того, что они выводятся другим потоком), однако при исходящих всё равно на строку выше показывает.
Похоже на какие-то глюки. Будто текст добавляется позже установки скролла, однако в коде всё наоборот.
Решение задачи: «Swing, VerticalScrollBar»
textual
Листинг программы
- private void resetScrollPosition() {
- mainTextContainer.getVerticalScrollBar().setValue(mainTextContainer.getVerticalScrollBar().getMaximum());
- mainTextContainer.validate();
- }
- public void addMessage(String message) {
- mainTextField.append("\n" + message);
- resetScrollPosition();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д