⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animationpanel.java

📁 java课程的资料以及实验的代码
💻 JAVA
字号:
import java.awt.MediaTracker;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.BorderLayout;
import java.awt.Graphics;
import javax.swing.*;
import java.lang.Thread;
public class AnimationPanel extends JPanel implements Runnable
{
	private Image images[]=new Image[17];
	private  int currentImage=0;
	private Thread thread;
	public AnimationPanel()
	{
		MediaTracker tracker=new MediaTracker(this);
		for(int i=0;i<images.length;i++)
		{
			//URL url=new URL("img");
			images[i]=getToolkit().getImage( "img"+i+".gif");
			tracker.addImage(images[i],i);
		}
		try 
		{
			tracker.waitForAll();
		}
		catch(InterruptedException ie)
		{
			showError("Image loading interrupted"+ie);
		}
		if(tracker.isErrorAny())
		 showError("Error Loading one or more imaged");
		 thread=new Thread(this);
		 thread.start();
	}
		 public void run()
		 {
		 	System.out.println("thread");
		 	while(true)
		 	{
		 		try
		 		{
		 				repaint();

		 			thread.sleep(1000);
		 			
		 			if(currentImage>=images.length-1)
		 			{currentImage=0;
		 			System.out.println(currentImage);
		 		}
		 			else
		 			{currentImage++;
		 			System.out.println(currentImage);}
		 		}
		 		catch(InterruptedException ie)
		 		{
		 			showError("Thread interrupt"+ie);
		 		}
		 	}
		 }
		 public Dimension getPreferredSize()
		 {
		 	return new Dimension(images[0].getWidth(this),images[0].getHeight(this));
		 }
		 public void paintComponent(Graphics g )
		 {
		 	super.paintComponent(g);
		 	g.drawImage(images[currentImage],0,0,this);
		 }
		 private void showError(String msg)
		 {
		 	JOptionPane.showMessageDialog(this,msg,"Error",JOptionPane.ERROR_MESSAGE);
		 }
		}
		class AnimationTest extends JFrame
		{
			public AnimationTest()
			{
				super("Animation test");
				getContentPane().add(new AnimationPanel());
				validate();
				pack();
				setVisible(true);
			}
			public static void main(String args[])
			{
				AnimationTest gt=new AnimationTest();
			}
		}

⌨️ 快捷键说明

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