java音乐播放器代码,求大神来优化
import java.applet.*;import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class test extends Applet implements ItemListener{
Choice c = new Choice();
String onceFile;
AudioClip onceClip;
AudioClip stopClip;
AudioClip loopClip;
Button playOnce;
Button stopMusic;
Button playAlways;
public void init()
{
c.addItem("fire.au");
c.addItem("alarm.au");
c.addItemListener(this);
playOnce = new Button("Play!");
playAlways = new Button("Loop!");
stopMusic = new Button("Stop!");
add(c); //添加(选择类choice)下拉选择清单
add(playOnce);
add(playAlways);
add(stopMusic);
onceFile = c.getItem(0); //存放首个选项
onceClip = this.getAudioClip(getDocumentBase(), onceFile);
loopClip = this.getAudioClip(getDocumentBase(), onceFile);
stopClip = this.getAudioClip(getDocumentBase(), onceFile);
}
public void itemStateChanged(ItemEvent ie)
{
Choice ch = (Choice) ie.getSource();
System.out.println(ch.getSelectedItem());
onceFile = ch.getSelectedItem();
onceClip = this.getAudioClip(getDocumentBase(), onceFile);
loopClip = this.getAudioClip(getDocumentBase(), onceFile);
stopClip = this.getAudioClip(getDocumentBase(), onceFile);
}
public boolean action(Event event, Object arg)
{
if(event.target == playOnce)
{
//如果点击按钮""
if(onceClip != null)
{
onceClip.play();
showStatus("Playing sound" + onceClip + ".");
}
else
{
showStatus("Sound" + onceClip + "not loaded yet");
}
return true;
}
if(event.target == playAlways)
{
if(loopClip != null)
{
loopClip.loop();
showStatus("Playing sound" + onceClip + ".");
}
else
{
showStatus("Music can't play!");
}
return true;
}
//如果点击中按钮
if(event.target == stopMusic)
{
if(stopClip != null)
{
stopClip.stop();
showStatus("Stop sound" + onceClip + ".");
}
else
{
showStatus("Music can't stop!");
}
return true;
}
return false;
}
}
上面是一段简单的java代码..是音乐播放器...希望大神可以优化下
我最想优化的是
onceClip = this.getAudioClip(getDocumentBase(), onceFile);
loopClip = this.getAudioClip(getDocumentBase(), onceFile);
stopClip = this.getAudioClip(getDocumentBase(), onceFile);
怎么实现即使不拉动choice下拉也能触发.那样就不用重复写两次了
--------------------编程问答-------------------- 真想叫人优化,你要上传个可直接导入使用的测试用例,这样,测试的人,才会更直观的,看到问题,也好给你解决啊。
还有,发布代码最好要用格式化工具啊,这样代码也好阅读。
我就提这些,水平也有限,帮顶了,你重上传下代码或上传个用例到资源去,等高人给你优化吧。。。 --------------------编程问答-------------------- 顶2楼,等你更新
补充:Java , Java SE