什么';在Swing中,根窗格和顶级容器之间的区别是什么?

什么';在Swing中,根窗格和顶级容器之间的区别是什么?,swing,panes,Swing,Panes,我知道每个顶级容器都有一些层: 根窗格 图层窗格 内容窗格 玻璃窗 但我不明白根窗格本身是否是顶级容器 窗格和容器之间的关系是什么?事实上,当我返回带有 getContentPane(),对象的类型为Container 您还有一个JFrame。阅读更多关于 发件人: “重量级”组件(委托给对等组件或主机系统上的本机组件的组件)显示为较暗、较重的框。四个重量级JFC/Swing容器(JFrame、JDialog、JWindow和JApplet)与它们扩展的AWT类相关。这四个组件是Swing库中

我知道每个顶级容器都有一些层:

根窗格
图层窗格
内容窗格
玻璃窗

但我不明白根窗格本身是否是顶级容器

窗格和容器之间的关系是什么?事实上,当我返回带有
getContentPane()
,对象的类型为
Container

您还有一个
JFrame
。阅读更多关于

发件人:

“重量级”组件(委托给对等组件或主机系统上的本机组件的组件)显示为较暗、较重的框。四个重量级JFC/Swing容器(JFrame、JDialog、JWindow和JApplet)与它们扩展的AWT类相关。这四个组件是Swing库中唯一的重量级容器


如果您查看前面的答案或链接,您会发现,在字里行间,问题的实际答案是:

根窗格不是顶级容器本身,但顶级容器有一个根窗格

由于所有Swing顶级容器(即
JFrame
JDialog
JApplet
)都实现了
RootPaneContainer
接口,这意味着您可以以一般方式访问它们的根窗格(无需检查这是
JFrame
还是
JDialog

关于问题的第二部分,窗格和容器之间的区别,实际上没有区别,窗格是
java.awt.container
(或者任何子类,特别是
javax.swing.JPanel


对于udnerstand来说,重要的是Swing顶级容器中存在的各种窗格(根、内容、玻璃、分层),为此,您必须查看前面答案中发布的链接。

-1
JInternalFrame
不是顶级容器。再想一想,由于这是非常简单的,我将删除该位并取消对答案的投票;如果你反对,请发表评论。你是对的,托加默斯勋爵;我同意你对我答案的修改。谢谢