结构推理
请利用线程编写一个计时程序,要求逐秒更新程序界面,程序界面显示的是从程序开始运行到当前更新的总运行时间(毫秒)。
【正确答案】/ /创建者:雍俊海
import java. awt.*;
import javax.swing.*;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class J_Test extends JFrame implements Runnable
{
long m_time;
public void paint(Graphics g)
{
super.paint(g);
Calendar c=new GregorianCalendar();
long t=c.getTimeInMillis()-m_time;
g.drawString(String.valueOf(t)+"milliseconds",10,60);
}/ /方法paint结束
public void run()
{
while(true):
{
repaint();
try;
{
Thread.sleep(1000);
}
catch(Exception e)
{
}
}/ /循环while结束
}/ /方法run结束
public static void main(String args[])
{
J_Test app=new J_Test();
app.setTitle("Timer");
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Calendar c=new GregorianCalendar();
Thread t=new Thread(app);.
t.start();
app.m_time=c.getTimeInMillis();
app.setSize(180,80);
app.setVisible(true);
}/ /方法main结束
}/ /类J_Test结束
【答案解析】