//cd c:\HPBasic\Toppage-sample3\MySwing
//javac Sound.java
//set CLASSPATH=.
//appletviewer Sound.java
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*
*/
public class Sound extends Applet
implements ActionListener {
AudioClip onceClip;
String midiFile = "../midi/coroptica.mid";
Button play1;
Button stop1;
Label label;
public void init() {
play1 = new Button("Play");
play1.addActionListener(this);
add(play1);
stop1 = new Button("Stop");
stop1.setEnabled(false);
stop1.addActionListener(this);
add(stop1);
label = new Label(" ");
add(label);
}
public void actionPerformed(ActionEvent event) {
//PLAY BUTTON
String source = event.getActionCommand();
// Object source = event.getSource();
onceClip = getAudioClip(getCodeBase(),midiFile);
label.setText(event.getActionCommand());
// if (source == play1) {
if (source == "Play") {
onceClip.play(); //Play it once.
showStatus("Playing sound " + midiFile + ".");
stop1.setEnabled(true);
return;
}
//STOP BUTTON
// if (source == stop1) {
if (source == "Stop") {
onceClip.stop(); //Stop the sound.
showStatus("Stopped playing sound " + midiFile + ".");
return;
}
}
}
/*
D:\JavaTry\Audio>appletviewer Sound.java
java.lang.NullPointerException
at Sound.actionPerformed(Sound.java:54)
onceClip = applet.getAudioClip(getCodeBase(),"coroptica.mid");
appletをとると、OK
IEでは、appletをとっても、実行時、start、stopsoundと昔のボタンさえ表示されない状態はなくなったが、なにも表示されなくなり、下記エラー、不明?
23行目とは play1 = new Button("Play");
IE Javaコンソール
java.lang.NullPointerException
at Sound.init(Sound.java:23)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
NullPointerException
オブジェクトへの参照で初期化されていないものがある?
ここではそれはないので、codebaseを明確にしてOK。