Добавление JPanels через цикл
Сделано это работает! Спасибо вам, ребята!
Код следует. я использовалBoxLayout
так как я думал, что это было бы идеально для размещения вопросов один над другим, но теперь у меня возникли проблемы с макетом ... Когда я складываю несколько вопросов, панели вопросов начинают перекрываться. есть идеи?
panels1 = new MultipleChoice[5];
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
for(int i=0; i<4; i++){
panels1[i]= new MultipleChoice();
panels1[i].setAlignmentX(CENTER_ALIGNMENT);
add(panels1[i]);
}
setVisible(true);
Я работаю над созданием апплета Online Test.
Тест имеет вопросы с множественным выбором и истинные / ложные вопросы. Для настройки теста я создал дваJPanel
классы, один для вопроса с множественным выбором и один для истинных / ложных вопросов. Поэтому, когда тест создается, я просто динамически добавляю эти панели вJPanel
контейнер по нефиксированному количеству вопросов.
Во-первых, как я могу динамически добавлять новые панели на панель? Я думал о том, чтобы объявить массивJPanel
тип. Я создал, а затем добавил объекты этого класса панели, используяfor
цикл:
MultitipleChoicePanel[] PanelArray;
for (...){
PanelArray[i] = new MultipleChoicePanel();
containerpanel.add(PanelArray[i]);
}
Я не знаю, технически ли это возможно.
Я впервые использую Swing, и я пытался сделать это, но, очевидно, это не сработало.
У кого-нибудь есть идеи, как правильно динамически добавлять эти панели?
Во-вторых, какой из менеджеров макета лучше всего подходит для панели контейнера, чтобы соответствовать каждой новой панели, добавленной прямо под предыдущей?
Я думал о динамической настройкеGridLayout
одного столбца и добавить строки, как я добавляю панели. Но я действительно изо всех сил пытался изменить колебания динамически.
Какие-либо предложения?
Спасибо большое за вашу помощь!