java练习小游戏:飞机大战0.2

本文介绍了一个简单的Java绘图练习项目——飞机大战0.2版本。通过重写paint方法,在窗口中绘制了直线、矩形、椭圆等基本图形,并展示了如何设置颜色及绘制文字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java练习小游戏:飞机大战0.2

1. 图形和文本绘制 (0.2 版)

· paint 方法
如果要在窗口中画图或者显示什么内容,需要重写 paint(Graphics g)方法。 这个方法的作用是:画出整个窗口及其内部内容。它会被系统自动调用。我们自己不需要去调用这个方法。

//    paint方法作用是:换出整个窗口及内部内容,被系统自动调用。

    @Override
    public void paint(Graphics g) {
    }

· Graphics 画笔对象_画图形

Graphics 对象,可以把它想象成“一支画笔”,窗口中的图形都由这支“画笔”画出来的。
画出每个图形都需要指定图形所在“矩形区域”的位置和大小。比如绘制椭圆。 g.drawOval(100, 50, 300, 300); 实际上,就是根据椭圆所在的外切矩形来确定椭
圆的基本信息。上面 4 个参数指的是椭圆外切矩形:左上角顶点(100px,50px),宽度300px,高度 300px。

以下Graphics相关类的使用:

@Override
    public void paint(Graphics g) {
          Color c = g.getColor();
//        g.setColor(Color.BLUE);
          g.setColor(new Color(200,50,200));
//        从坐标点(100,50)到(400,400)画出直线
        g.drawLine(100,50,400,400);
//        画出矩形,矩形左上角顶点坐标(100,50),宽度300,高度300
        g.drawRect(100,50,300,300);
//        画出椭圆,其外切矩形左上角坐标:(100,50),宽度300,高度300
        g.drawOval(100,50,300,300);
//        画出字符串,其坐标为:(100,50)
        g.drawString("This is Mr W !",100,50);
        g.setColor(c);
    }

2.0版本全部代码:

package plane;


import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * 游戏初始窗口
 */
public class MYGameFrame extends Frame {
//    paint方法作用是:换出整个窗口及内部内容,被系统自动调用。

    @Override
    public void paint(Graphics g) {
          Color c = g.getColor();
//        g.setColor(Color.BLUE);
          g.setColor(new Color(200,50,200));
//        从坐标点(100,50)到(400,400)画出直线
        g.drawLine(100,50,400,400);
//        画出矩形,矩形左上角顶点坐标(100,50),宽度300,高度300
        g.drawRect(100,50,300,300);
//        画出椭圆,其外切矩形左上角坐标:(100,50),宽度300,高度300
        g.drawOval(100,50,300,300);
//        画出字符串,其坐标为:(100,50)
        g.drawString("This is Mr W !",100,50);
        g.setColor(c);
    }

    public void launchFrame(){
        //在游戏窗口答应标题
        setTitle("java练习小项目");
        //窗口默认不可见,设为可见
        setVisible(true);
        //窗口大小:宽500,高度:500
        setSize(500,500);
        //窗口左上角坐标位置
        setLocation(300,300);
        //添加关闭窗口监听,这样用户点击右上角关闭图标,可以关闭游戏程序
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);//正常退出程序
            }
        });
    }

    public static void main(String[] args) {
        MYGameFrame f = new MYGameFrame();
        f.launchFrame();
    }
}

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值