📄 cartoonmusic.java
字号:
import java.awt.*;
import java.applet.*;
public class CartoonMusic extends Applet implements Runnable {
Thread thread1,thread2;
AudioClip m_audio ;
Image[] m_Images= new Image[5] ;
int totalImages =5; //图片序列中的图片总数
int currentImage = 0; //当前时刻应该显示的图片序号
public void init() {
m_audio = getAudioClip(getCodeBase(), "sound/test.au");
for(int i=0;i<=totalImages-1;i++)
m_Images[i] = getImage(getDocumentBase(),"images/P"+ i + ".gif");
}
public void start() {
if(thread1 == null){
thread1 = new Thread(this,"t1");
thread1.start(); //启动线程t1 ,播放音乐
}
if(thread2 == null){
thread2 = new Thread(this,"t2");
thread2.start(); // 启动线程t2,演示动画
}
}
public void run() {
String s = Thread.currentThread().getName();
System.out.println("----------"+ s + "----");
if (s.equals("t1")){
while(true) {
m_audio.play();
try{
Thread.sleep(3000);//如果播放的音乐时间长,则此处睡眠的时间也应加长
}catch(InterruptedException e){}
}
}
else if (s.equals("t2")){
while(true){
repaint();
try{
Thread.sleep(2000);
}catch(InterruptedException e){}
}
}
}
public void paint(Graphics g) {
g.drawImage(m_Images[currentImage],50,50,this); //显示当前序号的图片
currentImage = ++currentImage % totalImages; //计算下一个应显示图片的序号
}
public void stop(){
//thread1.stop();不提倡使用
//thread2.stop();
thread1=null;
thread2=null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -