会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132360个问题
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 3316楼

版本0.3同样不知道错在哪,网上搜索说可能是图片路径不对,核对后发现没问题啊

package cn.sxt.game;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
/**
 * 飞机游戏的主窗口
 * @author 高毅
 *
 */
public class MyGameFrame extends JFrame{
	
	Image plane = GameUtil.getImage("images/plane.png");
	Image bg = GameUtil.getImage("images/bg.jpg");
	
	int planeX = 250,planeY = 250;
	
	@Override
	public void paint(Graphics g) {  //自动被调,g相当于一支画笔
		super.paint(g);
		g.drawImage(bg, 0, 0, null);
		g.drawImage(plane, 250, 250, null);
		planeX++;
	}
	//内部类方便使用外部类的属性方法
	
	//帮助我们反复重画窗口
	class PaintThread extends Thread{
		@Override
		public void run() {
			while(true) {
				System.out.println("窗口画一次");
				repaint();  //重画
				
				try {
					Thread.sleep(40);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}  //1s=1000ms
			}
		}
	}
	
	
	/**
	 * 初始化窗口
	 */
	public void launchFrame(){
		this.setTitle("尚学堂学员,程序员作品");		
		this.setVisible(true);  //设置可见
		this.setSize(500, 500);  //设置窗口大小
		this.setLocation(300,300);  //窗口位置
		
		
		this.addWindowListener(new WindowAdapter() {
			//设置窗口关闭
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		
		new PaintThread().start(); //启动窗口重画的线程
		
	}
	
	public static void main(String[] args) {
		MyGameFrame f = new MyGameFrame();
		f.launchFrame();
	}
}

错误显示如下:

blob.png

JAVA 全系列/第一阶段:JAVA 快速入门/飞机大战小项目训练 3319楼
JAVA 全系列/第一阶段:JAVA 快速入门/飞机大战小项目训练 3321楼
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 3324楼
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 3325楼
JAVA 全系列/第一阶段:JAVA 快速入门/飞机大战小项目训练 3327楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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