java坦克大战0.3(画出代表坦克的实心圆)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
}

}

猜你喜欢

转载自blog.csdn.net/liushuai52013/article/details/78501435