getContentPane()必须在JFrame中使用 可是我想不用JFrame 用Panel getContentPane()怎么改

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:52:34
拜托了
我的目的是想直接用Panel 这样可以直接加在主页面上,由于刚刚学不太明白

JFrame 类与 Frame 轻微不兼容。与其他所有 JFC/Swing 顶层容器一样,JFrame 包含一个 JRootPane 作为其唯一的子容器。根据规定,根窗格所提供的内容窗格应该包含 JFrame 所显示的所有非菜单组件。这不同于 AWT Frame。为了方便地使用 add 及其变体,已经重写了 remove 和 setLayout,以在必要时将其转发到 contentPane。
JFrame包含JRootPane子容器,所以可以getContentPane()来拿这个JRootPane对象,而JPanel Panel都没有这个JRootPane这个子容器,你不能getContentPane()来拿这个JRootPane对象。
不知道你到底这么做的目的是什么,Panel是没有getContentPane()这个方法的。
panel加东西直接add就可以了,JFrame加东西要先 getContentPane()然后再加东西,反正JFrame显示的其实是JRootPane,你改变背景色也要先getContentPane,然后改变背景色。

panel 的对象