http://blog.csdn.net/gcangle/article/details/8222005
————————————————————————————————————————————————————————
在做一个嵌入式摄像头项目中,遇到了这样一个郁闷的问题。
新建了一个类继承Jpanel,向其中添加了一些控件后,加入到原来的JFrame中,然后Jpanel中控件,无论如何都显示不了了。
(为了方便控制 ContentPane布局为“borderlayout”,而JPanel布局为“absolute”,Jpanel放在contenpane的NORTH位置)
而后上网查了不少资料,但是仍然无法解决。只能自己探究。
经过一天的尝试,发现了一个奇怪的现象。
当将继承类的布局
getContentPane().add(comp, BorderLayout.CENTER);
的时候。这个类的控件居然就能够正常显示了。而其他的例如getContentPane().add(comp, BorderLayout.NORTH);控件就无法显示。
真是神奇的存在!
于是进一步探究 终于发现了问题的核心!总结起来就一句话
当自己写的JPanel布局为Null时,只能放在CENTER的位置,否则将无法显示!
或者说只要将布局改为非Null,一切都正常了。
——————————————————————————————————————————————————————————————
在TopComponent中也要注意这种情况。。。
在TopComponent中将JPanel的Layout设置为FlowLayout才可。