Sprawa jest tego typu, że główne okno ma ustawiony GridBagLayout. Siatka layoutu składa się z 8 wierszy i 4 kolumn (czyli wiersze 0-7, kolumny 0-3). U góry okna jest JComboBox, którego actionListener ma za zadanie podmienić panel rozciągający się na: wiersz:5-6 i kolumny:0-3 (nowy panel jest lokowany w tym samym miejscu).
Zaś w wierszu 7 są 2 przyciski: przycisk_ok i przycisk_anuluj.

No i teraz pytanko: Czy podmiana panelu w wierszach 5-6, w związku z tym, że nowy panel ma być umieszczony w tych samych wierszach musi wyrzucić wszystko poniżej 5 wiersza i dodać na nowo od niego do końca całość, czy może można to zrobić bez ingerencji w wiersz 7 ?

do tej pory mam tak:

 
combo.addActionListener(new ActionListener()
   			{
   				public void actionPerformed(ActionEvent e)
   				{
   					int r = combo.getSelectedIndex();
                                        if(r==5)
   					{
   						remove(panel04);
   						remove(przycisk_ok);
   						remove(przycisk_anuluj);
   						add(panel5, new GBC(5,0,4,2).setFill(GBC.BOTH).setWeight(100, 100));
   						add(przycisk_ok, new GBC(7,0,2,1).setAnchor(GBC.CENTER).setInsets(5).setWeight(100, 100));
   			   			add(przycisk_anuluj, new GBC(7,2,2,1).setAnchor(GBC.CENTER).setInsets(5).setWeight(100,
                                                100));
   						validate();
   					}
   					else
   					{
   						remove(panel5);
   						remove(przycisk_ok);
   						remove(przycisk_anuluj);
   						add(panel04, new GBC(5,0,4,2).setFill(GBC.BOTH).setWeight(100, 100));
   						add(przycisk_ok, new GBC(7,0,2,1).setAnchor(GBC.CENTER).setInsets(5).setWeight(100, 100));
   			   			add(przycisk_anuluj, new GBC(7,2,2,1).setAnchor(GBC.CENTER).setInsets(5).setWeight(100,
                                                100));
   						validate();

   					}
}});

To działa, ale czy można to zrobić lepiej - bez wyrzucania komponentów 7 wiersza? (gdy ich nie ruszałem to podmieniany panel lądował zawsze na dole okna)

P.S. podmienianie panele to: panel04 i panel5.