У меня есть несколько кнопок на JPanel, использующих FlowLayout. Это выглядит действительно красиво. Когда кнопки достигают правой стороны панели, они начинают новую строку, создавая красивую двумерную сетку.
Вот код:
Container cp = getContentPane();
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
for (int i = 0; i < 20; i++)
panel.add(new JButton("Button " + i));
cp.add(panel);
Однако, в ту минуту, когда я поместил панель в область прокрутки с вертикальной прокруткой:
Container cp = getContentPane();
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
for (int i = 0; i < 20; i++)
panel.add(new JButton("Button " + i));
JScrollPane pane = new JScrollPane(
panel,
ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
cp.add(pane);
кнопки показаны только в одном ряду (и я даже не вижу их справа). Я все еще хочу, чтобы они завернулись. Что здесь происходит? Кстати, мне нужно показать только вертикальную полосу прокрутки и не горизонтальную полосу прокрутки. Я хочу, чтобы кнопки переносились в новый ряд, когда они достигают правого края.