繁体   English   中英

我如何获得NullPointerException? 使用JApplet

[英]How did I get a NullPointerException? Working with JApplet

自从我使用Java以来​​已经很长时间了,我忘记了如何处理NullPointerException。 我唯一能想到的是第8行。我不确定是否应该从java文件所在的同一文件夹中检索音频文件。

这是我第一次使用AudioClip。 如果那是问题,那么正确的解决方法是什么? 在此先感谢您的帮助/提示。

如果我可以提供其他任何信息,以帮助您帮助我,请告诉我。 :)

[此代码的目的是创建三个允许用户播放,循环播放和停止音乐的按钮]

import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class ProgAsThree extends JApplet
{
   private AudioClip music = Applet.newAudioClip(getClass().getResource("Music.mp3"));
   private JButton jbtPlay = new JButton("Play");
   private JButton jbtLoop = new JButton("Loop");
   private JButton jbtStop = new JButton("Stop");

   public ProgAsThree()
   {
      JPanel panel = new JPanel();
      panel.add(jbtPlay);
      panel.add(jbtLoop);
      panel.add(jbtStop);
      add(panel);

      jbtPlay.addActionListener(new ActionListener()
      {
         @Override
         public void actionPerformed(ActionEvent e)
         {
            music.play();
         }
      });

      jbtLoop.addActionListener(new ActionListener()
      {
         @Override
         public void actionPerformed(ActionEvent e)
         {
            music.loop();
         }
      });

      jbtStop.addActionListener(new ActionListener()
      {
         @Override
         public void actionPerformed(ActionEvent e)
         {
            music.stop();
         }
      });      

     } 
 }                  

java.lang.NullPointerException
at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:65)
at java.applet.Applet.newAudioClip(Applet.java:311)
at ProgAsThree.<init>(ProgAsThree.java:8)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:795)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:724)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:722)
public void init() {
    // ..
    URL pathToClip  = new URL(getCodeBase(), "Music.mp3");
    music = Applet.newAudioClip(pathToClip);

上次我检查时, AudioClip无法处理MP3格式(开箱即用)。 请参阅Java声音信息。 修复页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM