JScrollPane и позиционирование - Java
Формулировка задачи:
Всем привет. Первый пост, уровень Java: чайник.
Пишу софтину, которая должна в окошке выдать список из 88-ми лейблов и 88-ми пар радиокнопок. Пока настраиваю позиционирование только на лейблах.
Возникла проблема.
Такой код даёт мне окно, в котором эти лейблы расположены в столбик и ведут себя довольно-таки нормально, по правилам FlowLayout - переносят слова, если не умещаются в окно, меняют конфигурацию при ресайзе и всё такое.
Однако, стоит мне добавить прокрутку - всё летит к чёрту. Вот код:
При исполнении этого кода, появляется полоса прокрутки, но все лейблы расположены в строчку. Начало первого лейбла привязано к верхнему левому углу окна, двигается вместе с ним.
Я знаю, что я где-то что-то не сказал, но у меня самого варианты кончились. Я смотрел другие типы позиционирования, даже боксы, но везде не то. Подскажите, пожалуйста, как заставить это дело располагаться в столбик?
Container container = new Container(); container = getContentPane(); JPanel panel = new JPanel(new FlowLayout()); container.add(panel); for (int i = 0; i < leongard.numberOfQuestions; i++) { q[i] = new JLabel(); q[i].setText(leongard.questions[i]); panel.add(q[i]); }
Container container = new Container(); container = getContentPane(); JPanel panel = new JPanel(new FlowLayout()); container.add(panel); JScrollPane scr = new JScrollPane(panel,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //НОВАЯ СТРОЧКА В КОДЕ container.add(scr); //НОВАЯ СТРОЧКА В КОДЕ for (int i = 0; i < leongard.numberOfQuestions; i++) { q[i] = new JLabel(); q[i].setText(leongard.questions[i]); panel.add(q[i]); }
Решение задачи: «JScrollPane и позиционирование»
textual
Листинг программы
GridLayout gl = new GridLayout(0,1); JPanel panel = new JPanel(gl); container.add(panel); JScrollPane scr = new JScrollPane(panel,ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); container.add(scr);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д