版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liushuai52013/article/details/78501435
版本0.3:画出代表坦克的是实心圆
a.功能:画出代表坦克的实心圆
b.掌握:如何重写paint方法
c.注意 : 不要改变原来的前景色,先取出来,用完之后再恢复
d.回顾:
1.x轴、y轴的方向(横向的w,纵向的h),这里是所画出的正方形的内切圆
2.paint(Graphics)方法,不需要显示地调用,在窗口重画时自动调用
e.画一个图形要重写paint()方法,paint()方法在window里面
import java.awt.*;
import java.awt.event.*;
/**
*
* 定义一个坦克客户端类
* @author liushuai
*
*/
public class TankClient extends Frame{
/**
* @param Graphics
* 画一个椭圆
* 设置颜色为红色
*/
public void paint(Graphics g) {
Color c = g.getColor();//定义Color对象c保存当前前景颜色
g.setColor(Color.RED);
g.fillOval(50, 50, 30, 30);
g.setColor(c);//还原前景颜色
}
/**
* 重写启动窗口方法
* 设置窗口大小为800*600
* 窗口出现的位置400*300(距离屏幕左上角点的位置)
* 设置窗口可显示
* 设置窗口的大小不能改变
* 添加一个匿名类处理关闭窗口的事件
*/
public void lauchFrame(){
this.setLocation(400,300);
this.setSize(800, 600);
this.setTitle("TankWar");
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
this.setResizable(false);
this.setBackground(Color.GREEN);
setVisible(true);
}
public static void main(String[] args) {
TankClient tc = new TankClient();
tc.lauchFrame();
}
}