swing 界面显示问题

 
  设置了两个界面调用,一个只有一个面板panel1,上面设置内容button1;第二个在原来面板panel2的基础上添加了两个新面板panel21、panel22,在新面板上分别设置内容button21、button22;当打开程序时,我们默认的加载是panel1,button1正常显示;当调用panel2时,button21和button22不显示;当默认加载panel2时,button21和button22可以显示,再调用panel1,button1也可以显示;
问题就出现在这里,只是调整了一下panel2的加载顺序,显示的结果就不一样;
问题分析:首先怀疑是panel2的问题,将panel21和panel22屏蔽,在panel2上添加button3;重新调用程序,则不管panel2的加载顺序如何,button3都能正常显示;分析panel2没问题;
  最后经验丰富的经理给出解决方法:在panel21和panel22调用后面添加了两行代码;panel2.setVisible(false);panel2.setVisible(true);