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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д