walkingman.java

来自「主要是对于JAVA的编程的基本语言 希望能够帮得上你。」· Java 代码 · 共 112 行

JAVA
112
字号
package awt;

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * Title: WalkingMan类<br>
 * Description: 行走的圣诞老人<br>
 * Copyright:(c)2007 www.luzhou.net<br>
 * Company: 泸州职业技术学院电信系
 * @author 华卫
 * @version 1.00
 */

/*
 * 图像绘制在框架上。
 */

public class WalkingMan extends Frame implements Runnable{
	
	Button btnStart,btnStop;
	boolean m_bRunning;
	Thread thread;
	int imgIndex=0;
	Image[] imgMan;	
	
	//构造方法	
	public WalkingMan() {
		
		super("行走的圣诞老人_华卫_2008年4月9日");
		
		btnStart=new Button("开始");
		btnStop=new Button("停止");
		imgMan=new Image[7];	
		
		for(int i=0;i<imgMan.length;i++){
			imgMan[i]=this.getToolkit().getImage("awt/man"+(i+1)+".jpg");
		}
		
		this.setSize(260,250);
		this.setResizable(false);		
		this.setLocationRelativeTo(null); //让窗口在屏幕居中
		this.setLayout(new FlowLayout());
		
		this.add(btnStart);
		this.add(btnStop);
		
		this.setVisible(true);
		
		//注册监听器,并匿名实现监听器接口		
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}		
		});			
		
		btnStart.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {						
				start();				
			}			
		});
		
		btnStop.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				stop();				
			}			
		});
	}

	public static void main(String[] args) {
		new WalkingMan();
	}
	
	public void start(){
		m_bRunning=true;		
		thread=new Thread(this);
		thread.start();
	}
	
	public void stop(){
		m_bRunning=false;	
	}

	public void run() {
		while(m_bRunning){			
			try {
				Thread.sleep(200);
			} catch (InterruptedException e) {				
				e.printStackTrace();
			}
			imgIndex++;
			imgIndex=imgIndex%7;
			repaint();
		}		
	}
	
	public void paint(Graphics g){
		g.drawImage(imgMan[imgIndex],50,60,145,153,this);
	}
	
	public void update(Graphics g){
		paint(g); //避免闪烁
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?