JScrollPane retPanel = new JScrollPane (panel);
     //retPanel.setPreferredSize(new   Dimension(400,200)); 
     return retPanel;
     JFrame的布局是GridBagLayou, panel的布局是GridLayout     问题描述:  当panel中的组件没有超过JScrollPane的 jviewport时,程序正常,
 否则,JScrollPane 将缩成一团,但加上  retPanel.setPreferredSize(new   Dimension(400,200)); 
 问题解决, 但我不清楚为什么?     请各位大哥赐教。
                     

解决方案 »

  1.   

    用系统的布局类,有时出了问题,不能很快找到原因。仿照BorderLayout或者FlowLayout类的代码,实现一个布局类,实现LayoutManager2接口,可以实现任意布局格式,
    比GridBagLayout还灵活
      

  2.   

    panel有没有设置大小或者里面有没有其他可视化的控件,如果没有的话,我想这些控件都会以最小化为主,当然是我想的