我有一个用 Swing 编写的应用程序,我想在其中使用 JavaFX 的 MediaPlayer 播放音频/声音文件。
这是主文件的精简版:
class MyApp
{
private MyApp myApp;
private JFrame myFrame;
private Media media;
private MediaPlayer mediaPlayer;
public static void main(String[] args)
{
Runnable thread = new Runnable()
{
public void run()
{
myApp = new MyApp();
}
};
SwingUtilities.invokeLater(thread);
}
public void MyApp()
{
//this is called by SwingUtilities.invokeLater();
URL url = //getting URL to a sound file stored locally//;
media = new Media(url.toString() );
mediaPlayer = new MediaPlayer( media );
mediaPlayer.play();
myFrame = new JFrame(); //building swing UI here
}
这似乎在 Netbeans 中有效。但是,当 Netbeans 构建一个 .jar 并且我尝试运行该 .jar 时,我在 .jar 目录中构建了一个错误日志文件,其中包含一些内存/线程错误。
我是否需要使用该Platform.runLater()
方法才能使其正常工作?还是我做错了什么?