package lishang.test;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class GameFrame extends Frame{ // GUI 编程 : awt,swing
/**
* 加在窗口方法(两个要素)
* 1、位置 (以左上角定点为一个,固定的坐标,代表我的区域,包括碰撞检测等)
* 2、宽度、高度
*/
public void launchFrame() {
setSize(500,500); // 设置窗口大小
setLocation(100,100); // 设置窗口左上定点位置
setVisible(true); // 设置窗口可见(因为默认不可见)
addWindowListener(new WindowAdapter() { // 添加一个匿名内部类
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0); // 0 表示正常结束,负数表示异常结束
}
});
}
@Override
public void paint(Graphics g) { // 想象与钩子函数,继承,多态
g.drawLine(100, 100, 234, 230); // 画一条线
g.drawRect(100, 100, 200, 200); // 画长方形
g.drawOval(100, 100, 200, 200); // 画圆
Font f = new Font("宋体",Font.BOLD,80);
g.setFont(f);
g.drawString("李尚", 150, 150); // 画一个字符串
g.setColor(Color.red); // 给画笔一个颜色
g.fillRect(100, 100, 30, 30); // 画一个长方形(填充)
//g.setColor(Color.red);
g.fillOval(300, 300, 30, 30); // 画一个长方形(填充)
g.setColor(Color.black); // 把画笔颜色还原
//g.setColor(c);
}
public static void main(String[] args) {
GameFrame gf = new GameFrame();
gf.launchFrame();
}
}
运行结果