importjava.awt.*;
importjava.util.*;
importjava.awt.image.*;
importjava.applet.*;
//Film是描述滚动图片的类
classFilmextendsCanvasimplementsRunnable
{
Threadmove;
Imagethumb;
intstartPoint=0;//起始位置
finalintthumbWidth=23;//小图片的宽度
publicFilm(Imagethumb)
{
this.thumb=thumb;
if(move==null)
{
move=newThread(this);
move.start();
}
}
publicvoidrun()
{
while(true)
{
repaint();
try
{
Thread.sleep(100);
}
catch(InterruptedExceptione)
{}
startPoint-=1;//向左移一位
startPoint%=thumbWidth;//超过小图片宽度后回到起始点
}
}
publicvoidpaint(Graphicsg)
{
update(g);
}
publicvoidupdate(Graphicsg)
{inti;
Dimensiond=size();
ImageoffImage=createImage(d.width,d.height);
GraphicsoffG=offImage.getGraphics();
offG.setColor(newColor(160,255,160));
offG.fillRect(0,0,d.width,d.height);
for(i=startPoint;i<=d.width;i+=thumbWidth)
offG.drawImage(thumb,i,0,this);
g.drawImage(offImage,0,0,this);
}
}
//AudioPlayer是描述底部音乐播放条的类
classAudioPlayerextendsPanel
{
AudioClipau;
Buttonplay,loop,stop;
Labellabel;
AudioPlayer(AudioClipau)
{
setLayout(newFlowLayout(FlowLayout.RIGHT,10,5));
add(play=newButton("play"));
add(loop=newButton("loop"));
add(stop=newButton("stop"));
this.au=au;
setBachground(newColor(160,255,160));