该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import javax.swing.*;
import javax.swing.event.CaretEvent;
public class time extends Thread{
JFrame f=new JFrame("m");
JTextField a=new JTextField("0.0",8);
JButton b1=new JButton("start");
JButton b2=new JButton("stop");
JButton b3=new JButton("continue");
Thread thread;
private long startTime=System.currentTimeMillis();
private long time1=0;
public boolean r=true;
private NumberFormat numberFormat=new DecimalFormat("0.000");
private double time;
public void init(){
JPanel bot=new JPanel();
bot.add(a);
bot.add(b1);
bot.add(b2);
bot.add(b3);
f.add(bot,BorderLayout.NORTH);
b1.addActionListener(new Second());
b2.addActionListener(new First());
b3.addActionListener(new First());
Thread thread=new Thread(new First());
f.pack();
f.setVisible(true);
}
class First implements ActionListener, Runnable{
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b2){
r=false;
b1.setEnabled(true);
b2.setEnabled(false);
b3.setEnabled(true);
}
if(e.getSource()==b3){
thread=new Thread(new First());
thread.resume();
b2.setEnabled(false);
b1.setEnabled(false);
b3.setEnabled(true);
}
}
public void run() {
startTime=System.currentTimeMillis();
while(r){
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
e.printStackTrace();
}
double time=(System.currentTimeMillis()-startTime);
a.setText(numberFormat.format(time/1000));
}
}
}
class Second implements ActionListener{
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b1)
{
thread=new Thread(new First());
thread.start();
b1.setEnabled(false);
b2.setEnabled(true);
b3.setEnabled(false);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new time().init();
}
}