Below i've tried to create a basic java audio player- When the user selects an audio file by clicking the button that file begins to play. But then i realized that javazoom's play() method hangs the app while playing the file so i need to put that in a new thread. So i tried to implement Runnable like this: but that gives me the error: . What i need to do here?
As Sheriff Wong said, if your JavaMusicPlayerBasic class implements Runnable then it has to have a method called run(), which it does not.
But I don't think you should have your JavaMusicPlayerBasic class implementing Runnable. Correct me if I'm wrong but I don't think you want the whole dialog box running in a separate thread, you just want to play the mp3 in a separate thread so that your dialog box still responds to user input.
I would create a separate class that implements Runnable. Call it, for example, Mp3Player. Then in your jButton_browseActionPerformed() method, instead of creating an instance of Player, you would create an instance of Mp3Player and call its start() method. Calling start() creates a new thread and calls the run() method on that new thread. Move the creation of Player and the play() method from jButton_browseActionPerformed() to the run() method of Mp3Player so that the mp3 file is played on the new thread.