Java用窗体做一个简易秒表
时间: 2023-12-30 07:05:01 浏览: 71
好的,以下是一个使用Java窗体实现的简易秒表示例代码:
```java
import javax.swing.*;
import java.awt.event.*;
public class StopWatch extends JFrame implements ActionListener{
JLabel lb1, lb2;
JButton startBtn, stopBtn, resetBtn;
Timer timer;
int hr, min, sec, ms;
public StopWatch(){
super("StopWatch");
lb1 = new JLabel("00:00:00.00");
lb2 = new JLabel("Hours : Minutes : Seconds . Milliseconds");
startBtn = new JButton("Start");
stopBtn = new JButton("Stop");
resetBtn = new JButton("Reset");
startBtn.addActionListener(this);
stopBtn.addActionListener(this);
resetBtn.addActionListener(this);
JPanel p = new JPanel();
p.add(lb1);
p.add(lb2);
p.add(startBtn);
p.add(stopBtn);
p.add(resetBtn);
timer = new Timer(10, this);
add(p);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,150);
setVisible(true);
}
public static void main(String[] args) {
new StopWatch();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == startBtn){
timer.start();
}
else if(e.getSource() == stopBtn){
timer.stop();
}
else if(e.getSource() == resetBtn){
timer.stop();
hr = 0;
min = 0;
sec = 0;
ms = 0;
lb1.setText("00:00:00.00");
}
else{
ms++;
if(ms == 100){
ms = 0;
sec++;
}
if(sec == 60){
sec = 0;
min++;
}
if(min == 60){
min = 0;
hr++;
}
String h = String.format("%02d", hr);
String m = String.format("%02d", min);
String s = String.format("%02d", sec);
String mi = String.format("%02d", ms);
lb1.setText(h + ":" + m + ":" + s + "." + mi);
}
}
}
```
这个程序将会创建一个窗口,其中包括一个用于显示秒表计时的标签、三个按钮(开始、停止、重置)和用于显示计时格式的标签。当点击开始按钮时,计时器将开始工作;点击停止按钮时,计时器将暂停;点击重置按钮时,计时器将归零。程序将会以小时、分钟、秒和毫秒格式显示计时结果。
阅读全文