Dodawanie JPanels przez pętlę

Sprawiło, że to działa! Dzięki chłopaki!
Kod następuje. użyłemBoxLayout ponieważ myślałem, że będzie to idealne rozwiązanie do układania pytań jeden na drugim, ale teraz mam problemy z układem ... Kiedy układam kilka pytań, panele pytań zaczynają się nakładać. jakieś pomysły?

            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);

Pracuję nad projektowaniem apletu Test online.
Test ma pytania wielokrotnego wyboru i pytania prawda / fałsz. Aby skonfigurować test, stworzyłem dwaJPanel klasy, jedna dla pytania wielokrotnego wyboru i jedna dla pytań prawda / fałsz. Kiedy więc zostanie utworzony test, po prostu dynamicznie dodam te panele doJPanel pojemnik według niezmiennej liczby pytań.

Po pierwsze, jak mogę dynamicznie dodawać nowe panele do panelu? Myślałem o zadeklarowaniu tablicyJPanel rodzaj. Stworzyłem, a następnie dodałem obiekty tej klasy panelu za pomocąfor pętla:

MultitipleChoicePanel[] PanelArray;

for (...){
   PanelArray[i] =  new MultipleChoicePanel();
   containerpanel.add(PanelArray[i]);
   }

Nie wiem, czy jest to technicznie możliwe.
To jest mój pierwszy raz, gdy korzystam ze Swinga i próbowałem to zrobić, ale oczywiście nie zadziałało.
Czy ktoś ma pomysł, jak poprawnie dynamicznie dodawać te panele?

Po drugie, który z menedżerów układu najlepiej pasuje do panelu kontenera, aby pasował do każdego nowego panelu dodanego bezpośrednio pod poprzednim?
Myślałem o dynamicznym ustawianiu aGridLayout jednej kolumny i dodaj wiersze, gdy dodaję panele. Ale bardzo dynamicznie zmagam się z modyfikowaniem huśtawek.
Jakieś sugestie?

Dziękuję bardzo za Twoją pomoc!

questionAnswers(4)

yourAnswerToTheQuestion