当前位置: 移动技术网 > IT编程>开发语言>Java > JFrame的面板结构和JPanel的使用

JFrame的面板结构和JPanel的使用

2020年01月09日  | 移动技术网IT编程  | 我要评论

jframe图解结构

有一窗口框架实例:jframe win = new jframe("窗口");
在new jframe()时,构建了jframe实例对象,在实例中的layered pane层面版中,也默认构建了一个jpanel控件面板。

使用 win.getcontentpane( ); 是获取jframe实例win中默认构建的 jpanel控件面板,获取到后可以往里布置 功能控件(如jbutton)。

写一个jpanel控件面板实例:jpanel panel = new jpanel( );

使用 win.setcontentpane(panel); 是把 win 中的默认 jpanel控件面板 替换为自定义的 jpanel控制面板 panel。

使用 win.add(panel); 则是在 win 中的默认 jpanel控件面板上叠加布置了--自定义的jpanel控件面板panel,(jpanel是可以嵌套的)。

【总结】
使用jframe窗体时:
1.可以通过jframe.getcontentpane( )获取 jframe窗体实例 默认构建的jpanel控件面板,然后往上布置功能控件。
2.可以通过jframe.setcontentpane(jpanel实例) 将 jframe窗体实例 默认的 jpanel控件面板 替换成 自定义的jpanel控件面板。
3.可以通过jframe.add(jpanel实例) 在 jframe窗体实例 默认的 jpanel控件面板之上 叠加布置上自定义的jpanel控件面板。

【常见问题解决】
1.使用jframe.setbackground(color.pink)后无效果:
此时是对窗体的背景颜色设置,而窗体之上还有一个默认构建的jpanel是不透明白色,所以看不到给jframe设置的颜色。
解决1:通过jframe.getcontentpane().setbackground(null);把jframe默认构建的jpanel的颜色设置为null,那么窗体的背景颜色就显示出来了。
解决2:通过jframe.getcontentpane().setopaque(false);把jframe默认构建的jpanel的不透明度设置为false纯透明,那么窗体的背景颜色就显示出来了。
解决3:直接通过jframe.getcontentpane().setbackground(xxx)将jframe默认jpanel设置颜色,功能控件布置到它上面就行了,窗体颜色不用设置。
解决4:自定义jpanel设置它的背景颜色,通过jframe.setcontentpane(jpanel实例)将自定义jpanel设置为jframe的默认jpanel。
解决5:自定义jpanel设置它的背景颜色,通过jframe.add(jpanel实例)将自定义jpanel叠加布置到jframe的默认jpanel上面。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网