Java: jscrollpane отключить горизонтальную прокрутку - PullRequest
1 голос
/ 21 июня 2011

Я хочу добавить Jpanel на jscrollpane;Также я хочу иметь только вертикальную прокрутку.Я хочу установить макет моей jPanel "flowLaout" и добавить несколько компонентов к моей jPanel в моем коде методом jpanel.add (component).В результате все компоненты размещаются в одной строке, которая исключает ширину jpanel и не отображается.Я использовал эти уловки, и оба не удалось:

jScrollPane1.setHorizontalScrollBar(null);
jScrollPane1.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

Ответы [ 3 ]

3 голосов
/ 21 июня 2011

Wrap Layout должно работать на вас.

1 голос
/ 21 июня 2011

Я не уверен в деталях для вашего текущего проекта, но я бы порекомендовал MigLayout . Это никогда не служило мне неправильно.

В настоящее время я пишу сенсорный интерфейс с вложенными панелями MigLayout глубиной до 4 или пяти слоев, и у них не было ни одной проблемы.

0 голосов
/ 30 июня 2017

Используйте приведенную ниже политику, чтобы включить вертикальную прокрутку и отключить горизонтальную прокрутку (работает с Java SE 7):

Panel graphicPanel = new Panel();
JScrollPane scrollbar = new JScrollPane(graphicPanel);
scrollbar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollbar.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
scrollbar.setPreferredSize(new Dimension(1300, 600));
scrollbar.setVisible(true);
add(scrollbar, BorderLayout.CENTER);
...