当前位置:   article > 正文

Java界面编程实战(三)——时钟小程序

Java界面编程实战(三)——时钟小程序

目标:

实现一个可以动态变化时间的时钟界面

目标图:

项目分析:

框架上绘制图案用paint函数,显示时间用Date类,修改时间格式用SimpleDateFormat类,动态显示时间用线程Runnable接口不停刷新面板。

代码实现:

  1. import java.awt.*;
  2. import java.text.SimpleDateFormat;
  3. import javax.swing.*;
  4. import java.util.*;
  5. public class GetCurrentTime extends JFrame implements Runnable{
  6. public static void main(String[] args) {
  7. // TODO Auto-generated method stub
  8. GetCurrentTime gct=new GetCurrentTime(); //创建当前类的对象
  9. new Thread(gct).start(); //把当前类的对象添加到线程中,并启动线程
  10. }
  11. GetCurrentTime() //构造函数
  12. {
  13. this.setTitle("My project");
  14. this.setSize(500, 310);
  15. this.setLocation(200,200);
  16. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  17. this.setVisible(true);
  18. }
  19. @Override
  20. public void paint(Graphics g) //绘图函数
  21. {
  22. super.paint(g);
  23. g.setFont(new Font("华文新魏",Font.BOLD,24)); //设置字体样式
  24. g.drawString(alterTimeFormat(), 100, 150); //画出当前时间
  25. }
  26. public String alterTimeFormat() //改变时间样式函数
  27. {
  28. return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date().getTime());
  29. }
  30. @Override
  31. public void run() { //线程函数
  32. // TODO Auto-generated method stub
  33. while(true)
  34. {
  35. try {
  36. Thread.sleep(1000); //休眠一秒
  37. } catch (InterruptedException e) {
  38. // TODO Auto-generated catch block
  39. e.printStackTrace();
  40. }
  41. repaint(); //重绘框架
  42. }
  43. }
  44. }

注意事项:

 

  1. 绘图函数中第一句:super.paint(g);一定要带,可以理解为是初始化,我开始忘了带,结果出问题了。
  2. 线程函数记得用while语句,不然构不成一直刷新。
  3. 改变时间样式函数中yyyy代表year,MM代表month,dd代表day,hh代表hour,mm代表min,ss代表second,不能随便起名字。

 

怎样使用Runnable和Thread实现多线程?点击打开链接

JavaGUI——绘图技术基础 点击打开链接

 

 

欢迎各位在评论区留言探讨

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/268967
推荐阅读
相关标签
  

闽ICP备14008679号