NetBeans自動生成的JFrame窗體默認使用了自由設計的布局GroupLayout。
默認添加的面板(JPanel)等容器也都是用了自由布局GroupLayout方式。
這將導致我們自己在代碼中動態添加的組件無法顯示在窗體上,因此需要手工重設容器的布局方式。(對需要動態添加的組件,可以先畫一個面板,重設布局,再在面板上添加自己的組件。)(即重新彈出一個窗口)
NetBeans對GridBagLayout提供了可定制的布局,對GridLayout,BorderLayout,FlowLayout也有比較好的支持。絕對布局,需要NetBeans的包支持,不建議使用。
對BoxLayout支持不夠好,不可調間隙。自由布局和NULL布局,不會自動適應窗體變化。
由于GridBagLayout布局在改變窗體大小的時候,可以基本保持原形,建議在NetBeans中設計窗體時使用GridBagLayout布局,也可以結合GridLayout,BorderLayout,FlowLayout進行布局