//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。 相対 codebase="." ないし、codebase="./" では失敗。 public void stop() { onceClip.stop(); //Cut short the one-time sound. } 実行時、実行はするが、エラー表示が出るので削除。 */