关于java显示图片的问题

yubo_725 2013-01-25 09:26:12
我做了一个俄罗斯方块的游戏,但是界面不太漂亮,我希望给窗口增加一个背景图片,但是如果在paint()方法中绘制图片的话,玩游戏的时候因为还要不断的调用paint()方法,那么图片就会消失,请问该怎么办才能加上背景图片同时保证图片一直显示???求高手解答,谢谢!!
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ceclinux 2013-01-26
  • 打赏
  • 举报
回复
我写了下,楼主可以参考
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import java.io.File;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;

import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFrame;


public class ReflashBack extends JFrame{
	public static void main(String[] args){
		new ReflashBack();
	}
	public ReflashBack(){
		ImageComponent com=new ImageComponent();
		add(com);
		setVisible(true);
		setSize(1366,768);
		 Timer timer = new Timer();
		//在0.1秒后执行此任务,每次间隔0.2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
		 timer.schedule(com.mytask(), 100, 200);
	}

}
class ImageComponent extends JComponent{
	int y=0;
	public ImageComponent(){
		try{
			img=ImageIO.read(new File("razer.jpg"));
		}
		catch(IOException e){
			e.printStackTrace();
		}
	}
	public TimerTask mytask() {
		// TODO Auto-generated method stub
		return new TimerTask() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				y+=20;
				repaint();
			}
		};
	}
	public void paintComponent(Graphics g){
		Graphics2D g2=(Graphics2D) g;
		if(img==null) return;
		
		int imageWidth=img.getWidth(this);
		int imageHeight=img.getHeight(this);
		
		g.drawImage(img,0,0,null);	
		Rectangle2D.Double d=new Rectangle2D.Double(200,200+y,200,200);
		g2.draw(d);
		g2.setColor(Color.RED);
		g2.fill(d);
		}
	private java.awt.Image img;
}
yubo_725 2013-01-26
  • 打赏
  • 举报
回复
引用 3 楼 Cecil_911 的回复:
我写了下,楼主可以参考Java code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667import java.awt.Color;import java.awt.Gra……
非常感谢!!!
yubo_725 2013-01-25
  • 打赏
  • 举报
回复
求高手解答啊。。。我试过在JRootPane里面添加背景图片,然后在JContentPane里面绘图,结果图片依然不能显示,请问该怎么办啊。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧