黑马程序员技术交流社区

标题: Timer类内部调用线程之定时器+时钟Demo [打印本页]

作者: 尹丽峰    时间: 2013-4-26 23:06
标题: Timer类内部调用线程之定时器+时钟Demo
  1. package day0425;

  2. import java.awt.Color;
  3. import java.awt.FlowLayout;
  4. import java.util.Calendar;
  5. import java.util.TimerTask;
  6. import java.util.Timer;
  7. import javax.swing.JFrame;
  8. import javax.swing.JTextField;

  9. public class ThreadDemo2 extends JFrame
  10. {
  11. private static final long serialVersionUID = 1L;
  12. private JTextField text;
  13. ThreadDemo2()
  14. {
  15. getContentPane().setLayout(new FlowLayout());
  16. text = new JTextField(20);
  17. text.setEditable(false);
  18. text.setForeground(Color.RED);
  19. getContentPane().add(text);
  20. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  21. setBounds(200, 200, 300, 300);
  22. setVisible(true);
  23. Timer t = new Timer();
  24. t.schedule(new TimerTask1(), 0,1000);

  25. }
  26. public static void main(String[]args)
  27. {
  28. new ThreadDemo2();
  29. }
  30. class TimerTask1 extends TimerTask
  31. {
  32. private String year;
  33. private String month;
  34. private String day;
  35. private String hour;
  36. private String min;
  37. private String sec;
  38. @Override
  39. public void run() {
  40. // TODO Auto-generated method stub
  41. Calendar c = Calendar.getInstance();
  42. year = ""+c.get(Calendar.YEAR);
  43. month = ""+(c.get(Calendar.MONTH)+1);
  44. if(month.length()<=1)
  45. {
  46. month = "0"+month;
  47. }
  48. day = ""+c.get(Calendar.DATE);
  49. if(day.length()<=1)
  50. {
  51. day = "0"+day;
  52. }
  53. hour = ""+c.get(Calendar.HOUR);
  54. if(hour.length()<=1)
  55. {
  56. hour = "0"+hour;
  57. }
  58. min = ""+c.get(Calendar.MINUTE);
  59. if(min.length()<=1)
  60. {
  61. min = "0"+min;
  62. }
  63. sec=""+c.get(Calendar.SECOND);
  64. if(sec.length()<=1)
  65. {
  66. sec = "0"+sec;
  67. }
  68. day = year + "-"+month+"-"+""+day+""+hour+":"+min+":"+sec;
  69. text.setText(day);
  70. }
  71. }

  72. }
复制代码
相关类:java.util.Timer
Timer类并不是线程类,但在其内部实现中,利用线程来执行定时任务
java.util.TimerTask
TimerTask类,是一个抽像类,它实现了Runnable.
实现步骤:
一、声明一个Timer(定时器)对像。
二、书写一个TimerTask(定时器任务)类。并声明它的对像。
三、将TimerTask的变量当成Timer变量的参数设置定时任务。

作者: 许庭洲    时间: 2013-4-28 06:14
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2