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

📄 nationday.java

📁 一个用JAVA编写的字幕的滚动 很精致
💻 JAVA
字号:
package java1;import java.awt.*;import java.applet.*;import java.awt.image.*;import java.io.*;public class NationDay extends Applet implements Runnable{   MediaTracker tracker =null;  int frame_x=0;  boolean bz_load=false;  boolean bz_anima=false;  int current=0;  private boolean init=false;  private AudioClip m_Audio;  Image backImage=null;  Image myImage=null;  Image allImages[]=null;  Thread animation=null;  public void init()   {     if(init==false){         init=true;         tracker=new MediaTracker(this);         allImages=new Image[7];         for(int x=0;x<7;x++)             allImages[x]=getImage(getCodeBase(),"Mrab0"+x+".gif");         for(int x=0;x<7;x++)             tracker.addImage(allImages[x],x);            backImage=getImage(getCodeBase(),"50.gif");                 }    }   public void main(Graphics g)//开始动画   {       setBackground(Color.white);       if(bz_load){           bz_anima=true;           g.drawImage(backImage,0,0,this);           g.drawImage(allImages[current],frame_x,0,this);       }       else       {           g.drawString("画面载入中,请稍候……",0,20);                  }   }   public void start()   { String strAudio="spacemusic.au";     m_Audio=getAudioClip(getDocumentBase(),strAudio);     if( m_Audio!=null)          m_Audio.loop();        if(animation==null){            animation=new Thread (this);            animation.start();        }}   public void stop()   {      if(m_Audio!=null)         m_Audio.stop();      if(animation!=null){          animation.stop();           animation=null;      }   }   public void run()   {       while(!checkRoll())sleep(100);       bz_load=true;       while(true){           roll(0,this.getSize().width-42);                  }   }   boolean checkRoll()   {  boolean finished=true;      for(int i=0;i<7;i++){          if((tracker.statusID(i,true)& MediaTracker.COMPLETE)==0)              finished=false;      }      return finished;   }   void roll(int begin,int end)//播放动画   { if(begin<end){         for(int x=begin;x<=end;x+=21){             frame_x=x;             repaint();             current--;             if(current==-1)current=3;             sleep(150);                      }     }     else{         for(int x=begin;x<=end;x-=21){             frame_x=x;             repaint();             current++;             if(current==7)current=0;             sleep(150);                      }     }   }   private void sleep(int a)   {        try{             Thread.sleep(a);       }       catch (InterruptedException e){       }              }   public void update(Graphics g)//刷新   {  g.clipRect(0,0,2000,2000);      paint(g);   }   }

⌨️ 快捷键说明

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