代码执行getContentPane?

时间:2014-07-06 04:28:28

标签: java swing oop jframe

frame.getContentPane().setBackground(Color.blue);

如何同时调用这两种方法?这两种方法都属于JFrame类吗?

getContentPane()返回容器,如果先执行,那么它会是这样吗?

frame.Container.setBackground(Color.blue)

这被称为解除?

请告诉我这段代码是如何逐步执行的?

2 个答案:

答案 0 :(得分:1)

getContentPane()返回容器,当你调用setBackground方法时,它使用前一个方法调用返回的容器执行

答案 1 :(得分:1)

您的代码:

frame.getContentPane().setBackground(Color.blue);
  1. 首先执行frame.getContentPane()

    frame引用的对象有一个名为getContentPane()的方法。它返回此帧的contentPane对象。

  2. 然后执行setBackground(Color.blue)部分。

    此方法位于由语句(frame.getContentPane())的第一部分返回的Container对象内。它的setBackground(Color c)方法(继承自Component Class)设置参数具有的背景(Color.blue)。

  3. 您无法使用frame.Container.访问Container对象,因为它不是框架对象中的公共属性。

    但你可以这样做:

    Container cont = frame.getContentPane();
    cont.setBackground(Color.blue);
    

    现在cont变量引用Container对象;