会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133912个问题

package cn.qym.game;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Paint;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;


public class MyGame01 extends JFrame{
	
	public void Paint(Graphics g) { //paint 为画笔工具,自动被调用,g相当于一支画笔
	  		Color c =g.getColor();//储存原来得颜色
	  		Font f =g.getFont();//储存原来得字体
	  		g.setColor(Color.BLUE);//改变颜色
	  		g.drawLine(100, 100, 300, 300);//画线
	  		g.drawRect(100, 100, 300, 300);//画矩形
	  		g.drawOval(100, 100, 300, 300);//画椭圆
	  		g.fillRect(100, 100, 200, 200);//填充一个矩形实心
	  		g.drawString("我是谁", 100, 200);//填写字符串
	  		g.setColor(c);//恢复原来得颜色
	  		g.setFont(f);//恢复原来得字体
}
	  public void lauchFrame(){
		  this.setSize(500, 500);//窗口大小
		  this.setTitle("钱宇明作品");//窗口名称
		  this.setVisible(true);//显示窗口
		  this.setLocation(300, 300);//窗口位置 左上角坐标
/*
 * 设置窗口关闭即程序停止		  
 */
		  this.addWindowListener(new WindowAdapter() {
			  @Override
			public void windowClosing(WindowEvent e) {
				  System.exit(0);
			}
		});
		  
	  }
	  public static void main(String[]args) {
	  MyGame01 f = new MyGame01();
	  f.lauchFrame();
	  

  }
  		
}

为什么我运行后画笔没有显示呢?画的直线、圆一个都没。。1.png

JAVA 全系列/第一阶段:AI驱动的JAVA编程/飞机大战小项目训练 241楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 242楼

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

/**
 * 游戏主窗口
 */

public class MyGameFrame extends Frame {

    @Override
    public void paint(Graphics g) {     //g当做一支画笔

        color c = g.getColor();

        //g.setColor(color.red);
        g.setColor(new Color(255,0,255));
        //画直线
        g.drawLine(100,100,400,400);
        //画矩形
        g.drawRect(100,100,300,300);
        //画椭圆
        g.drawOval(100,100,300,300);
        //画字符串
        g.drawString("张晋荣制作",300,300);

        g.setColor(c);
    }

    public void LaunchFrame(){
        this.setTitle("飞机大战.尚学堂");//标题
        setVisible(true);//设置窗口可见

        setSize(500,500);//窗口大小

        setLocation(400,400);  //窗口位置

        this.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);//正常退出窗口
            }
        });
        }
        public static void main(String[] args) {
            MyGameFrame gameFrame = new MyGameFrame();
            gameFrame.LaunchFrame();
        }
    }

image.png

为什么还原原来颜色那步会报错

image.png

JAVA 全系列/第一阶段:AI驱动的JAVA编程/飞机大战小项目训练 243楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/变量、数据类型、运算符 245楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/飞机大战小项目训练 246楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/控制语句、方法、递归算法 248楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/变量、数据类型、运算符 250楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/IDEA的使用和第一个java项目 252楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 254楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 255楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637