1.layoutContainer是最重要的方法,因为组件的最终布局都是在该方法中实现的。这个方法会被awt-swing框架自动调用,例如改变组件的字体、容器尺寸改变等都会引起该方法的调用。
2.doLayout()方法是直接调用布局管理器的layoutContainer方法,调用容器的doLayout可以强制实现容器的重新布局。
3.validate()方法调用了LayoutManager接口的void layoutContainer(Container parent)方法,也是强制实现容器的重新布局。
4.关于JFrame的add操作的理解:
有的资料上说不能用JFrame.add(component)之类的操作。但是在有的机器上完全可以,其实我们推荐是使用getContentPane()得到一个所谓的面板容器,因为JFrame本身是一个容器,但是它还可能包含菜单等其他组件,若直接在JFrame上使用add有时会发生一些意想不到的效果,如重叠。所以最好先获得JFrame的面板容器,然后在其上进行一些列操作。再者,如果用坐标定位,JFrame理所当然从最顶端开始,而JFrame获得的面板容器则从标题栏以下开始计算。