结构推理 请利用线程编写一个计时程序,要求逐秒更新程序界面,程序界面显示的是从程序开始运行到当前更新的总运行时间(毫秒)。
【正确答案】/ /创建者:雍俊海 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结束
【答案解析】