窗口关闭时,JavaFX会停止MediaPlayer

时间:2018-06-17 19:49:07

标签: javafx

我有这个窗口:

JFrame rainbow = new JFrame();
                rainbow.setSize(new Dimension(500, 500));
                rainbow.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                rainbow.setTitle("RaInBoW");
                rainbow.setResizable(false);
                rainbow.setLocationRelativeTo(null);
                Media rainbowMusic = new Media("file:///C:/Users/Julius/Downloads/rainbowMusic.mp3");
                MediaPlayer mediaPlayer = new MediaPlayer(rainbowMusic);
                mediaPlayer.setAutoPlay(true);
                rainbow.setLayout(new GridLayout(1, 1, 0, 0));
                Draw d = new Draw();
                rainbow.add(d);
                rainbow.setVisible(true);

关闭JFrame后,有没有办法阻止MediaPlayer播放音乐?如果是的话,你能告诉我吗?

1 个答案:

答案 0 :(得分:2)

为您的JFrame添加一个关闭侦听器,如此

rainbow.addWindowListener(new WindowAdapter()
{
     // runs whenever the user tries to close the fram
        @Override
        public void windowClosing(WindowEvent e)
        {
            mediaPlayer.pause();
        }
});

每当帧关闭时,这将暂停媒体播放器