JAVA 我的JFrame类实现了窗口监听

JAVA我的JFrame类实现了窗口监听,类里面有一个创建了一个线程来播放因为,窗口打开时线程开始即播放音乐,我希望窗口关闭时线程停止即音乐停止,可为何实现不了?代码如下... JAVA 我的JFrame类实现了窗口监听,类里面有一个创建了一个线程来播放因为,窗口打开时线程开始即播放音乐,我希望窗口关闭时线程停止即音乐停止,可为何实现不了?代码如下public class TankWar extends JFrame implements WindowListener {
MyPanel mp = null
Music s = new Music("file:///06.EVERYWHERE YOU GO.MP3");
public TankWar() {
mp = new MyPanel()
this.getContentPane().add(BorderLayout.CENTER, mp);
this.addWindowListener(this);
this.addKeyListener(mp);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(850, 685);
this.setVisible(true);
}

public static void main(String[] args) {
TankWar a = new TankWar();
}

public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
s.stop();
}
public void windowClosing(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
s.start();

}

}
展开
 我来答
_静静的思考
2011-05-11 · 超过18用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:59.7万
展开全部
线程的运行应该是一个while(condition)
你在这两个方法里设置一下condition。
public void windowClosed(WindowEvent e) {
s.condition=false;
}
zakk1234
2011-05-10
知道答主
回答量:18
采纳率:0%
帮助的人:10.6万
展开全部
将关闭音乐写在windowClosing()里面试试
追问
呃.....试过了、、、没用、、、
追答
楼下正解,可能是方法调用了而线程没关闭
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式