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

📄 animation.java

📁 这是一个动画软件可以将几个jpg文件连续起来
💻 JAVA
字号:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.image.*;
import java.net.*;


public class Animation extends Applet implements Runnable
{
	private Thread runner;
	private Image image;
	private int imageWidth;
	private int imageHeight;
	private String imageName;
	private BufferedImage offImage;
	private Graphics2D offGraphics;
	private boolean flag;
	
	
	public void init()
	{
		
		addMouseListener(new MouseAdapter()
						{
							public void mousePressed(MouseEvent e)
							{
								if(runner==null)
								   start();	
							    else 							     							      
							          stop();							          
							}
						
						});
		try
		{
			imageName=getParameter("imageName");	
			if(imageName==null)
				imageName="";
		}	
	    catch(Exception e)
	    {
	    	showStatus("Error:"+e);	
	    }
	   
	    image=null;
	    loadImage();	    
	  
	}	

    
    public void loadImage()
    {
    	try
    	{
    		URL url=new URL(getDocumentBase(),imageName);
    		image=getImage(url);
    		MediaTracker tracker=new MediaTracker(this);
    		tracker.addImage(image,0);	
    	    tracker.waitForID(0);
    	    imageWidth=image.getWidth(null);
    	    imageHeight=image.getHeight(null);
    	    resize(imageWidth,imageHeight); 
    	}	
    	catch(InterruptedException e)
    	{
    		showStatus("Loading interrupted");	
    	}
        catch(MalformedURLException e)
        {
        	showStatus("Bad URL");	
        }
      
    }

	
	public void start()
	{
		flag=true;
		runner=new Thread(this);	
	    runner.start();
	    showStatus("click to stop");
	}

    public void stop()
    {
    	flag=false;
    	runner.interrupt();
    	runner=null;	
        showStatus("click to restart");
    }


	public void paint(Graphics g)	
	{
	 	if(image==null)
	    	return;
	    g.drawImage(image,0,0,null);
	}
	
	public void update(Graphics g)
    {
    	
    	Dimension d=getSize();
        
        if(offGraphics==null)
        {
        	offImage=new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
            offGraphics=offImage.createGraphics();
        }	
        
        offGraphics.drawImage(image,0,0,null);
        g.drawImage(offImage,0,0,this);
    }	    
	    
    
    
    public void run()
	{
	    long startTime=System.currentTimeMillis();	
	    while(flag)
	    {
	        repaint();	
	        try
	        {
	            startTime+=100;
	            Thread.sleep(Math.max(0,startTime-System.currentTimeMillis()));
	        }
	        catch(InterruptedException e)
	        {}
	    }
	    
	}
			
	 

}

⌨️ 快捷键说明

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