JFrame.getContentPane()和JFrame.getRootPane()有什么区别?

时间:2011-09-09 12:59:09

标签: java swing user-interface

Java框架函数getContentPane()getRootPane()之间有什么区别? 当我们将JButton设置为Default时,会发生什么。

3 个答案:

答案 0 :(得分:12)

来自documentation

  

getContentPane()通常像这样实现:

public Container getContentPane() {
    return getRootPane().getContentPane();
}

在Swing教程(here)中有详细描述。

enter image description here

答案 1 :(得分:4)

在AWT或Swing中使用顶级容器时,根窗格是基础窗格。

层次结构如下:

  1. 玻璃窗格:一般隐藏,设置为可见将在根窗格区域上显示玻璃盖。
  2. 分层窗格:包含菜单栏和内容窗格
  3. 内容窗格:是实际放置组件的基本布局窗格。
  4. 调用方法getRootPane()将返回对基础窗格的引用,而调用getContentPane()方法将获得对内容窗格的引用。它默认是可见的。

    通过设置Jbutton默认设置,您到底想要完成什么?

答案 2 :(得分:0)

顾名思义,根窗格是框架/窗口/对话框的根。

它包含此顶级组件的其他组件。 内容窗格是根窗格的四个部分之一,包含组件。根窗格的其他部分是玻璃窗格,分层窗格和可选菜单栏。

oracle的教程解释说这非常好: http://download.oracle.com/javase/tutorial/uiswing/components/rootpane.html