现在的位置: 首页 > 综合 > 正文

java图片移动(键盘控制)

2013年01月23日 ⁄ 综合 ⁄ 共 1108字 ⁄ 字号 评论关闭
package Anime;

import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Sample extends Frame {

	private Image img = null;
	private Image img2 = null;
	private Image img3 = null;
	int by = 30;

	public static void main(String[] args) {
		new Sample();
	}

	public Sample() {
		this.setSize(803, 603);
		this.setLocation(100,100);
		
		img = Toolkit.getDefaultToolkit().createImage("img/11.jpg");
		img3 = Toolkit.getDefaultToolkit().createImage("img/11.jpg");
		img2 = Toolkit.getDefaultToolkit().createImage("img/11.jpg");
		
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		
		this.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				if(e.getKeyCode() == KeyEvent.VK_RIGHT)
				by = by + 5;
				else if(e.getKeyCode() == KeyEvent.VK_LEFT)
				by = by -5;
				repaint();
			}
		});
		this.setVisible(true);
	}

	public void paint(Graphics g) {
		g.drawImage(img2, 100, 100,100,100, this);
		g.drawImage(img3, by, 490,100,100, this);
		g.drawImage(img, 580, 260,100,100,this);
	}
}

这个程序有点问题就是由于没有加入双缓冲所以出现了闪烁现象。有时间加入双缓冲解决这个问题。

抱歉!评论已关闭.