黑马程序员技术交流社区
标题:
学习Swing时遇到问题,求解决!
[打印本页]
作者:
陈志伟
时间:
2012-4-11 22:17
标题:
学习Swing时遇到问题,求解决!
正在学习Swing,对以下代码中的super有疑问:为什么在MyFrame类中调用Super()就是设置标题呢?为什么不是别的?为什么不用SetTitle什么的?
import java.awt.*;
public class TestMultiFrame {
public static void main(String[] args) {
MyFrame f1 = new MyFrame(100, 100, 200, 200, Color.BLUE);
MyFrame f2 = new MyFrame(300, 100, 200, 200, Color.yellow);
MyFrame f3 = new MyFrame(100, 300, 200, 200, Color.green);
MyFrame f4 = new MyFrame(300, 300, 200, 200, Color.red);
}
}
class MyFrame extends Frame {
static int i = 0;
MyFrame(int x, int y, int w, int h, Color color) {
super("MyFrame" + (++i));
setLayout(null);
setBackground(color);
setBounds(x, y, w, h);
setVisible(true);
}
}
复制代码
作者:
刘占月
时间:
2012-4-11 22:22
调用了父类Frame的方法
Frame(String title)
构造一个新的、最初不可见的、具有指定标题的 Frame 对象。
作者:
未长法
时间:
2012-4-11 22:22
你在构造方法里使用super就是调用父类的构造方法,父类Frame的构造方法里有一个是可以设置标题的,这点你可以查看API文档,当然他也有空参数的构造方法,这要看你喜欢了,你可以在构造的时候直接设置Title,也可以把这句话去掉使用this.setTitle("Title");来设置标题。
顺便说一下,其实在父类的构造方法里使用的也是setTitle这个方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2