Я хочу иметь JEditorPane внутри JScrollPane. Когда пользователь нажимает кнопку, слушатель щелчка создаст textEditor, вызовет jscrollpane.setViewPort (textEditor), вызовет textEditor.setText (String), чтобы заполнить его редактируемым текстом, и вызовет jscrollpane.getVerticalScrollBar (). SetValue (0). Если вам интересно, да, setText () должен идти после setViewPort () по причинам, не относящимся к теме.
Вот проблема: после того, как пользователь нажимает кнопку, представление JScrollPane прокручивается до самого дна. Я хочу, чтобы полоса прокрутки была наверху, в соответствии с последней строкой в моем прослушивателе кликов.
Я открыл отладчик и, к своему ужасу, обнаружил, что область просмотра jscrollpane принудительно опускается вниз после завершения прослушивателя щелчков (при прокачке фильтров). Похоже, что Swing задерживает заполнение редактора / jscrollpane до тех пор, пока не закончится список щелчков, но сначала вызывает команду полосы прокрутки. Таким образом, нежелательное поведение.
В любом случае, мне интересно, есть ли чистое решение? Кажется, что требование прокручивания области прокрутки к вершине после модификации было бы достаточно распространенным требованием, поэтому я предполагаю, что это хорошо решенная проблема.
Спасибо!