📄 stopwatch.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.SimpleDateFormat;
class StW extends Canvas implements Runnable
{
private long startTime =0;
private long endTime = 0;
private boolean bStart =false;
public StW ()
{
enableEvents(AWTEvent.MOUSE_EVENT_MASK);
setSize(80,30);
}
protected void processMouseEvent(MouseEvent e)
{
if(e.getID()==MouseEvent.MOUSE_PRESSED)
{
bStart = true;
startTime = endTime =System.currentTimeMillis();
repaint();
new Thread(this).start();
}
else if (e.getID()==MouseEvent.MOUSE_RELEASED)
{
bStart =false;
repaint();
}
super.processMouseEvent(e);
}
public void paint(Graphics g)
{
SimpleDateFormat sdf=new SimpleDateFormat("HH:mm:ss");
Date elapsedTime = null;
try
{
elapsedTime=sdf.parse("00:00:00");
}catch (Exception e){}
elapsedTime.setTime(endTime-startTime+elapsedTime.getTime());
String display =sdf.format(elapsedTime);
g.drawRect(0,0,78,28);
g.fill3DRect(2,2,75,25,true);
g.setColor(Color.RED);
g.drawString(display,10,20);
}
public void run()
{
while(bStart)
{
try
{
Thread.sleep(500);
}catch (Exception e){e.printStackTrace();}
endTime = System.currentTimeMillis();
repaint();
}
}
}
public class StopWatch
{
public static void main(String [] args)
{
Frame f= new Frame ("StopWatch");
f.add(new StW());
f.setSize(200,200);
f.setVisible(true);
f.addWindowListener(new WindowAdapter (){
public void windowClosing (WindowEvent e)
{
e.getWindow().setVisible(false);
((Window)e.getComponent()).dispose();
System.exit(0);
}
}
);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -