计时器
一、窗口化
public class Pro extends JFrame{
private JTextField textField = new JTextField(45);//系统时间文本框
private JTextField textField2 = new JTextField(45);//倒计时文本框
int t1=0,x=1;
private boolean TT = true;
public Pro()throws InterruptedException{
setTitle("计时器"); //标题
setLayout(null); //取消布局管理器设置
setBounds(100,120,450,450);
Container c = getContentPane(); //容器对象
JButton b1 = new JButton("开始");
b1.setBounds(180,130,80,30);
JButton b2 = new JButton("暂停");
b2.setBounds(180,185,80,30);
JButton b8 = new JButton("清零");
b8.setBounds(180,240,80,30);
c.add(b1);c.add(b2);c.add(b8);//增加控件
setVisible(true);//窗口可视化
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//结束窗口所在的应用程序
textField.setFont(new Font("宋体",Font.BOLD,60));//改变数字的大小
textField.setBackground(Color.white);//改变文本框的颜色
textField.setBounds(10,10,400,90);//改变文本框的大小
textField.setEditable(false);//控件不能编辑
add(textField);//增加文本框,显示系统时间
textField2.setFont(new Font("宋代",Font.BOLD,60));
textField2.setBackground(Color.white);
textField2.setBounds(10,280,400,90);
textField2.setEditable(false);
add(textField2);//增加文本框,显示计时
}
public static void main(String[] args)throws InterruptedException {
new Pro();
}
}
二、全部代码
1 importjava.text.SimpleDateFormat;2 import java.util.*;3 importjava.util.concurrent.TimeUnit;4 import java.text.*;5 import java.awt.*;6 importjava.awt.event.ActionEvent;7 importjava.awt.event.ActionListener;8 import java.sql.*;9 import javax.swing.*;10 importjava.util.Date;11 importjava.text.SimpleDateFormat;12
13 public class Pro extendsJFrame{14
15 private JTextField textField = new JTextField(45);//系统时间文本框
16 private JTextField textField2 = new JTextField(45);//倒计时文本框
17 int t1=0,x=1;18 private boolean TT = true;19
20 public Pro()throwsInterruptedException{21 setTitle("计时器"); //标题
22 setLayout(null); //取消布局管理器设置
23 setBounds(100,120,450,450);24 Container c = getContentPane(); //容器对象
25 JButton b1 = new JButton("开始");26 b1.setBounds(180,130,80,30);27 JButton b2 = new JButton("暂停");28 b2.setBounds(180,185,80,30);29 JButton b8 = new JButton("清零");30 b8.setBounds(180,240,80,30);31 c.add(b1);c.add(b2);c.add(b8);//增加控件
32 setVisible(true);//窗口可视化
33 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//结束窗口所在的应用程序
34
35 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
36
37 textField.setFont(new Font("宋体",Font.BOLD,60));//改变数字的大小
38 textField.setBackground(Color.white);//改变文本框的颜色
39 textField.setBounds(10,10,400,90);//改变文本框的大小
40 textField.setEditable(false);//控件不能编辑
41 add(textField);//增加文本框,显示系统时间
42 textField.setText(" "+df.format(new Date()));//获系统时间
43
44 textField2.setFont(new Font("宋代",Font.BOLD,60));45 textField2.setBackground(Color.white);46 textField2.setBounds(10,280,400,90);47 textField2.setEditable(false);48 add(textField2);//增加文本框,显示计时
49 textField2.setText(" 计时:"+t1);50
51 //获取系统时间时动态显示,线程
52 Display timedisplay = newDisplay();53 timedisplay.start() ;54
55 //添加一个action监听,确定键
56 b1.addActionListener(newActionListener(){57 public voidactionPerformed(ActionEvent e){58 //计时开始
59 Dis tt = newDis();60 tt.start();61 }62 });63
64 //添加一个action监听,暂停键
65 b2.addActionListener(newActionListener(){66 public voidactionPerformed(ActionEvent e){67 Dis tt2 = newDis();68 tt2.sto();69 }70 });71
72 //添加一个action监听,清零键
73 b8.addActionListener(newActionListener(){74 public voidactionPerformed(ActionEvent e){75 textField2.setText(" 计时:"+"0");76 t1=0;77 }78 });79 }80
81
82 //显示系统时间
83 private class Display extendsThread {84 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");//系统时间以时:分:秒显示
85 publicDisplay() {86
87 }88 @Override89 public voidrun(){90 while(true){91 textField.setText(" "+sdf.format(newDate()));92 try{93 Thread.sleep(1000) ;//迟顿一秒
94 } catch(InterruptedException e) {95 e.printStackTrace();96 }97 }98 }99 }100
101 //计时开始
102 private class Dis extendsThread{103 publicDis(){104
105 }106 public voidsto(){107 TT=false;108 }109 public voidrun(){110 TT=true;111 while(TT){112 t1++;113 textField2.setText(" 计时:"+t1);114 try{115 Thread.sleep(1000) ;116 } catch(InterruptedException e) {117 e.printStackTrace();118 }119 }120 }121
122 }123
124
125
126 public static void main(String[] args)throwsInterruptedException {127 newPro();128 }129 }130
131
三、效果图