Frame类
Frame类
基础
以下代码用frame类创建了人可以看到的界面:
package com.cxf.gui;
import sun.font.TrueTypeFont;
import java.awt.*;
public class Demo1 {
public static void main(String[] args) {
Frame frame1 = new Frame("my first frame");
frame1.setVisible(true);
frame1.setSize(400,400);
frame1.setBackground(Color.ORANGE);
frame1.setLocation(200,200);
frame1.setResizable(false);
}
}
上面的代码直接在main函数中调用对象的方法来设置界面的参数。
输出结果:
Frame类+继承
以下代码自定义了一个界面类,继承了Frame类:
package com.cxf.gui;
import java.awt.*;
public class Myframe extends Frame {
public static int id = 0;
public Myframe(int len, int wid, int x, int y, Color color){
super("frame NO." + (++id));
setBounds(x,y,wid,len);
setBackground(color);
setVisible(true);
}
}
上面的代码新增了属性id用以标记每个界面的序号。
构造器中super调用了父类的构造器,同时增加了父类构造器所没有的功能:设置大小和位置、设置颜色、设置可见性。
以下代码使用自定义的界面类创建了4个界面:
package com.cxf.gui;
import java.awt.*;
public class Demo2 {
public static void main(String[] args) {
Myframe myframe1 = new Myframe(200,200,200,200,Color.cyan);
Myframe myframe2 = new Myframe(200,200,400,200,Color.BLUE);
Myframe myframe3 = new Myframe(200,200,200,400,Color.RED);
Myframe myframe4 = new Myframe(200,200,400,400,Color.GRAY);
}
}
输出结果:
用Frame类+继承,我们创建多个类的时候不再需要在main函数中多次调用对象的方法以设置界面的参数,而是在初始化时就完成设置。