Добавление 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 одного столбца и добавить строки, как я добавляю панели. Но я действительно изо всех сил пытался изменить колебания динамически.
Какие-либо предложения?

Спасибо большое за вашу помощь!

Ответы на вопрос(4)

Ваш ответ на вопрос