java 中往jframe中添加组件是添加到哪里了?

今天在做计算器calculator程序时发现一个疑问,为什么前辈们做的这个都是在面板panel上添加部件,而不是在JFrame上呢

然后自己就百度了一下.

正常情况, 我们添加组件都是使用

1
jframe.add( new  JButton( "ENTER" ));

或者

1
jframe.getContentPane().add( new  JButton( "ENTER" ));

上面两行代码其实是一样的, 只是版本较低的JDK,只支持第二种写法

这说明, 我们平时添加到窗口的组件,都是添加到了ContentPane 里

那么ContentPane 和 JFrame 有什么关系??JFrame到底分为几层呢?

JFrame下面有 JRootPane 

JRootPane 下面有GlassPane,  和  LayeredPane

LayeredPane下面又有ContentPane ,   Menu Bar

所以, 你删除了JRootPane你就看不到添加的组件了

猜你喜欢

转载自blog.csdn.net/wem603947175/article/details/71194163