刚学完java基础知识,目前我写了一个java游戏,而且在其中加入了背景音乐。我在主线程中分别为播放器和游戏创建了子线程,而且我在面板设置了音乐“继续/暂停”按钮,我想通过按钮来控制背景音乐的状态。当我在按钮监听器的actionPerformed(ActionEvent e)方法中调用音乐线程的notify()时抛出了异常,并且音乐无法暂停。请有谁知道该如何实现这个功能的帮我解决一下,不甚感激!

解决方案 »

  1.   

    线程终止好像是用interrupt()这个方法
      

  2.   

    不要用这个方法来进行退出。我个人觉得应该在你的run方法里面加上一个标志位来控制循环。如果出现异常或者是其他的什么问题,就跳出线程的循环体。这样来退出线程会比较好。boolean run = true;public void run(){
    while(run){
    try{
    do your work
    }catch(Exception e){
    run = false;
    continue;
    }
    }
    }
      

  3.   

    不清楚你音乐是怎么实现的,player不是提供一个stop方法吗,干嘛让线程停了,只要让播放音乐的player调用stop方法就ok了
      

  4.   


    囧,今天果然脑袋昏昏沉沉的,catch{...return}