Ted*_*opp 10

如果代码是JFrame子类的一部分,则应该使用getContentPane().如果代码不是框架的一部分(也许你在static main()应用程序的方法中),那么你需要使用一个JFrame对象来调用getContentPane(); 这是什么frame.getContentPane().

例子:

public class TestApp extends JFrame {
    public static void main(String[] args) {
        TestApp frame = new TestApp();
        Container c = frame.getContentPane();
        // do something with c
        frame.pack();
        frame.show();
    }

    /* constructor */
    public TestApp() {
        Container c = getContentPane(); // same as this.getContentPane()
        // initialize contents of frame
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @ChinmayKale - 很重要.`JFrame`是一种特殊类型的`Container`,旨在显示为应用程序的顶级容器.通用的"容器"几乎是Java程序的任何可视组件,可以容纳其他可视组件.`JFrame`本身包含一个特殊的`Container`,称为_content pane_,其中包含大多数包含的组件.(``JFrame`也有一个菜单栏;其他Swing容器类型也可能有自己的专用组件.)当你向`JFrame`添加组件时,它们实际上会被添加到它的内容窗格中. (3认同)

Jai*_*tel 9

getContentPane().setBackground(Color.YELLOW);
Run Code Online (Sandbox Code Playgroud)

这行代码很难理解,导师将为您在继续学习Java时充分理解它奠定基础.首先要考虑的是使用方法修改对象的规则.点的左侧是对象,修改对象方法位于句点的右侧.该规则适用于此处.

容器中有若干层.您可以将图层视为覆盖容器的透明胶片.在Java Swing中,用于保存对象的图层称为内容窗格.对象将添加到容器的内容窗格层.该getContentPane()方法检索内容窗格层,以便您可以向其添加对象.内容窗格是Java运行时环境创建的对象.您不必知道要使用它的内容窗格的名称.使用时getContentPane(),然后在内容窗格对象中替换它,以便您可以对其应用方法.在这行代码中,我们没有向内容窗格添加对象.相反,我们将内容窗格的颜色设置为黄色.这行代码将默认颜色(白色)更改为黄色,您可以回想一下在浏览器中运行的程序中看到黄色矩形.这行代码是使矩形区域变黄的原因.

考虑这一点的一种方法是认为内容窗格对象替换了getContentPane()方法,如下所示:

contentpaneobject.setBackground(Color.YELLOW);
Run Code Online (Sandbox Code Playgroud)

虽然您从未真正看到上述语句,但您确实具有该语句的功能.使用该方法检索内容窗格时,可以修改内容窗格对象,该对象在上面的示例中任意命名为contentpaneobject.在此语句中,修改是更改内容窗格的颜色.该步骤将在导师中显示.getContentPane()

注意getContentPane()作为方法的形式.该方法以小写字母开头,并带有括号.括号是空的.

在此输入图像描述

在此输入图像描述