java 为什么我生成的窗体程序关闭了窗体仍在运行呢??

是从书上弄下来然后修改的publicclassSwingAndThreadextendsJFrame{....省略....publicSwingAndThread(){.... 是从书上弄下来然后修改的
public class SwingAndThread extends JFrame {
....省略....

public SwingAndThread() {
...省略...
t = new Thread(new Runnable() { // 定义匿名内部类,该类实现Runnable接口
public void run() { // 重写run()方法
while (count <= 600) { // 设置循环条件
// 将标签的横坐标用变量表示
jl.setBounds(count, 10, 200, 100);
jl2.setBounds(count2, 150, 200,100);
jl3.setBounds(count3, 300, 200,100);
try {
Thread.sleep(500); // 使线程休眠1000毫秒
} catch (Exception e) {
e.printStackTrace();
}
int number = new Random().nextInt(30) + 1;
int number2 = new Random().nextInt(30) + 1;
int number3 = new Random().nextInt(30) + 1;
count += number; // 使横坐标每次增加4
count2 += number2;
count3 += number3;
if (count >= 600|count2 >= 600|count3 >= 600) {
// 当图标到达标签的最右边,使其回到标签最左边

if(count >= 600) JOptionPane.showMessageDialog(null, "猪赢了");
if(count2 >= 600) JOptionPane.showMessageDialog(null, "熊赢了");
if(count3 >= 600) JOptionPane.showMessageDialog(null, "人赢了");

count = 10;
count2 = 10;
count3 = 10;
}
}
}
});
t.start(); // 启动线程
container.add(jl); // 将标签添加到容器中
container.add(jl2);
container.add(jl3);
setVisible(true); // 使窗体可视
// 设置窗体的关闭方式
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}

public static void main(String[] args) {
new SwingAndThread(); // 实例化一个SwingAndThread对象
}
}
关闭了窗体线程仍在运行的意思
展开
 我来答
fyw1126
2014-02-23 · 超过12用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:46.3万
展开全部

// 设置窗体的关闭方式
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
改为:
// 设置窗体的关闭方式
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式