求java高手解决一下以下javaSE程序问题 保证马上给分

我下面是做的是一个秒表程序为什么我能按开始键计开始计时按暂停键能暂停却不能(再一次按暂停键)继续计时?packagea.b;publicclassWextendsJFra... 我下面是做的是一个秒表程序 为什么我能按开始键计开始计时 按暂停键能暂停却不能(再一次按暂停键)继续计时?
package a.b;
public class W extends JFrame implements Runnable{
int j=0;
JFrame jf = new JFrame("计时器");
JButton jb1 = new JButton("开始");
JButton jb2 = new JButton("暂停或继续");
JTextField jt = new JTextField(18);
Calendar c = Calendar.getInstance();
Date d;
String s;
SimpleDateFormat ss;
Thread th =new Thread(W.this);;
public W() {
jf.setVisible(true);
jf.setBounds(100, 100, 250, 250);
jf.setLayout(new FlowLayout());
jf.setDefaultCloseOperation(3);
jf.add(jt);
jf.add(jb1);
jf.add(jb2);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
d=c.getTime();
ss=new SimpleDateFormat("HH:mm:ss");
s=ss.format(d);
jt.setText(s);

jb1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {
try {
d=ss.parse( s);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

th.start();
System.out.println(W.this.th);
}
});
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
++j;
}
});
}
public void run(){

int i=0;
while(j%2==0){
c.setTime(d);
c.add(Calendar.SECOND,++i);
Date dd=c.getTime();
jt.setText(ss.format(dd));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
public static void main(String[] args) {
new W();
}
}
展开
 我来答
百度网友e0affa5
2014-10-01
知道答主
回答量:10
采纳率:0%
帮助的人:7万
展开全部
当你点击暂停后,I+1,while条件不符合,循环跳出,程序往下运行,线程就结束了,程序也结束了。当然后面也就没反应了。
追问
线程结束?    为什么我eclipse控制台上的的小红点还亮着
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式