JScrollPanel без полос прокрутки - PullRequest
4 голосов
/ 16 апреля 2010

Я пытаюсь использовать JScrollPanel для отображения JPanel, который может быть слишком большим для содержащей Jpanel.

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

Первая попытка: установите verticalScrollBarPolicy на НИКОГДА. Результат: прокрутка с помощью колесика мыши не работает.

Вторая попытка: установить полосы прокрутки на ноль. Результат: прокрутка с помощью колесика мыши не работает.

Третья попытка: установить свойство видимой полосы прокрутки в значение false. Результат: он сразу же становится видимым Swing.

Четвертая попытка: внедрить полосу прокрутки, где setVisible переопределяется, чтобы ничего не делать при вызове с true. Результат: точно не помню, но думаю, что это просто не сработало.

Пятая попытка: вставить полосу прокрутки, где setBounds переопределяются. Результат: просто не выглядел красиво. (Возможно, я кое-что здесь упустил.)

Шестая попытка: спросить переполнение стека. Результат: на этот раз сработало как шарм.

Прокрутка работает после возвращения полос прокрутки.

1 Ответ

11 голосов
/ 16 апреля 2010
scrollPane.getVerticalScrollBar().setPreferredSize(new Dimension(0,0));

Скроет полосу прокрутки и позволит вам прокрутить колесо мыши.

...