NetBeans自动生成的JFrame窗体默认使用了自由设计的布局GroupLayout。
默认添加的面板(JPanel)等容器也都是用了自由布局GroupLayout方式。
这将导致我们自己在代码中动态添加的组件无法显示在窗体上,因此需要手工重设容器的布局方式。(对需要动态添加的组件,可以先画一个面板,重设布局,再在面板上添加自己的组件。)(即重新弹出一个窗口)
NetBeans对GridBagLayout提供了可定制的布局,对GridLayout,BorderLayout,FlowLayout也有比较好的支持。绝对布局,需要NetBeans的包支持,不建议使用。
对BoxLayout支持不够好,不可调间隙。自由布局和NULL布局,不会自动适应窗体变化。
由于GridBagLayout布局在改变窗体大小的时候,可以基本保持原形,建议在NetBeans中设计窗体时使用GridBagLayout布局,也可以结合GridLayout,BorderLayout,FlowLayout进行布局