java 出现问题——只有缩小化窗口才播放音乐。不知道哪里错了

importjava.awt.*;importjava.applet.*;importjava.awt.event.*;classMusicextendsThread{A... import java.awt.*;import java.applet.*;import java.awt.event.*;class Music extends Thread{ AudioClip bgMusic; boolean playMusic; public Music(Applet Game) { playMusic = true; } public void run() { if(playMusic == true) bgMusic.loop(); else bgMusic.stop(); }} public class LMusic extends Applet implements Runnable,ItemListener{ Thread newThread; Checkbox CMusic; Music music; int count; public void init() { count = 0; CMusic = new Checkbox("音乐",true); add(CMusic); CMusic.addItemListener(this); music = new Music(this); music.bgMusic = getAudioClip(getDocumentBase(),"voise/疯狂.MID"); } public void start() { newThread = new Thread(this); newThread.start(); } public void run() { while(newThread != null) { music.run(); } } public void stop() { newThread = null; } public void itemStateChanged(ItemEvent e) { count++; if(e.getStateChange()== ItemEvent.SELECTED) { music.playMusic = true; } else { music.playMusic = false; } System.out.println("点击 "+count+" 次"); }} 展开
 我来答
mtfmtf101
2017-06-04 · TA获得超过311个赞
知道小有建树答主
回答量:255
采纳率:71%
帮助的人:126万
展开全部
为checkbox绑定的事件应该单独写一个实现,不要用this。用this代表当前窗体,那只有窗体变化状态时才有效。所以,最小化就播放了。
更多追问追答
追问
额,this是指监听checkbox的么?具体我要怎么修改呢。。。
追答
定义一个内部类实(假设为myListener)现itemListener接口,实现itemStateChange方法。然后cMusic.setListerner(new myListener())
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式