猿问

JAVA为什么暂停后运行不了啊QAQ

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.swing.*;

public class Demo5 extends JFrame implements Runnable, ActionListener {
JButton jb1, jb2, jb3;
JLabel jl;
Thread thread = null;
boolean flag;
    Calendar i=Calendar.getInstance();
int nian=i.get(Calendar.YEAR);
int yue=i.get(Calendar.MONTH);
int tian=i.get(Calendar.DAY_OF_MONTH);
int shi=i.get(Calendar.HOUR_OF_DAY);
int feng=i.get(Calendar.MINUTE);
int miao=i.get(Calendar.SECOND);

  

Demo5() {
jb1 = new JButton("开始");
jb2 = new JButton("停止");
jb3 = new JButton("切换");
jl = new JLabel("");

}

public void init() {
this.setTitle("计时器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setLocation(500, 400);
this.setSize(500, 300);
this.setLayout(new FlowLayout());
this.add(jl);
this.add(jb1);
this.add(jb2);
this.add(jb3);
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);

}

public static void main(String[] args) {
new Demo5().init();

}

@Override
public void run() {
int i=miao;
int k=feng;
int y=shi;

while (flag) {

jl.setText(nian+"-"+(yue+1)+"-"+tian+" "+y+":"+k+":"+i);

if(i>=59){
k+=1;
i=-1;
}
if(k>=59){
y+=1;
k=0;
}


try {
Thread.currentThread().sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(flag) {
i++;
}
}

}

@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(jb1)) {
if (thread == null) {
thread = new Thread(this);
thread.start();

}
flag=true;
} else if (e.getSource().equals(jb2)) {
flag=false;

}

}

}

慕后端7202135
浏览 1076回答 0
0回答
随时随地看视频慕课网APP

相关分类

Java
我要回答