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函数中多次调用对象的方法以设置界面的参数,而是在初始化时就完成设置。

posted on 2021-08-23 19:29  菜小疯  阅读(169)  评论(0编辑  收藏  举报