在java中,Jframe自带的JcontentPane有什么作用,JcontentPane的存在有什么意义???
展开全部
JFrame#getContentPane() 返回的结果是一个使用BorderLayout的JPanel
devworks (高级程序员) 2010-09-23
JcontentPane实际上就是一个JPanel。Jframe中会默认new一个JPanel,塞入JFrame中。
devworks (高级程序员) 2010-09-23
JcontentPane实际上就是一个JPanel。Jframe中会默认new一个JPanel,塞入JFrame中。
追问
我是想问下JcontentPane存在的意义,它的存在起到了什么作用,frame为什么没有
追答
JContentPane相当于遮挡在窗口前的一个画布;我们往窗口中添加控件或者绘制图形都必须要绘制在这个画布上;我们添加控件的时候也需要:JContentPanel.add(new JButton());不过;这个JContentPanel只是可绘制区域 你可以看看JFrame的继承体系;事实上JFrame继承自Frame;是他的子类;那么;子类中拥有的成员父类本来就可以没有;在ApI文档中其实已经写的很明白了;我给你摘录下:JFrame是java.awt.Frame 的扩展版本,该版本添加了对 JFC/Swing 组件架构的支持。
JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样,JFrame 包含一个 JRootPane 作为其唯一的子容器。根据规定,根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。为了方便地使用 add 及其变体,已经重写了 remove 和 setLayout,以在必要时将其转发到 contentPane。
frame.add(child);
frame.add(child);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询