当前位置: 代码迷 >> Java相关 >> [求助]getContentPane().add(child) 与 add(child)的本质区别?
  详细解决方案

[求助]getContentPane().add(child) 与 add(child)的本质区别?

热度:628   发布时间:2007-03-19 19:51:03.0
[求助]getContentPane().add(child) 与 add(child)的本质区别?
getContentPane().add(child) 与 add(child) 有本质什么区别?

都可以添加组件,对于用户似乎没有什么区别。能否给个实例详解一下。
搜索更多相关的解决方案: child  add  实例  组件  

----------------解决方案--------------------------------------------------------
在JDK1.5之后,对普通API用户来说,这两个方法其实是一样的.
你可以自己查看javax.swing.JFrame的源代码,其中有这样的:
程序代码:

protected void addImpl(Component comp, Object constraints, int index) {
if(isRootPaneCheckingEnabled()) {
getContentPane().add(comp, constraints, index);
}
else {
super.addImpl(comp, constraints, index);
}
}

注意,add(Component )方法最终的具体实现是调用addImpl(java.awt.Component, java.lang.Object, int)方法.
而这个isRootPaneCheckingEnabled()方法在你通常使用的时候也是返回true.
----------------解决方案--------------------------------------------------------

谢谢了!~


----------------解决方案--------------------------------------------------------
  相关解决方案