У меня большое JTree (много узлов), отображаемое в JScrollPane. Я бы хотел, чтобы последний узел дерева отображался в верхней части JScrollPane. Swing, по-видимому, не позволяет этого по умолчанию, показывая (полностью развернутое) JTree с последним узлом в нижней части JScrollPane. Большой палец JScrollBar касается нижней части дорожки.
Я использую метод JViewport.setViewPosition () для установки верхнего левого расположения узла дерева в верхнее левое положение в JViewport, но он отказывается сделать это, если это заставит его отображать «пробел» в нижней части дерева.
Я пытался манипулировать JViewport, устанавливая размер (.setViewSize к его старому значению + дополнительную высоту .getExtentSize ()), но он по-прежнему отказывается разрешить движению большого пальца вниз, даже если теперь он равен не в нижней части его дорожки. Я корректирую размер JViewport в обработчике событий (.addChangeListener).