Java编程小实例—数字时钟的实现代码示例
时间:2019-04-07
本文章向大家介绍Java编程小实例—数字时钟的实现代码示例,主要包括Java编程小实例—数字时钟的实现代码示例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文的实例是Java编程实现一个数字时钟,代码测试可用,练练手吧。代码如下:
package me.socketthread; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JFrame; //数字时钟 public class ClockDemo extends JFrame implements Runnable{ Thread clock; public ClockDemo(){ super("数字时钟"); //调用父类构造函数 setFont(new Font("Times New Roman",Font.BOLD,60)); //设置时钟的显示字体 start(); //开始进程 setSize(280,100); //设置窗口尺寸 setVisible(true); //窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 } public void start(){ //开始进程 if (clock==null){ //如果进程为空值 clock=new Thread(this); //实例化进程 clock.start(); //开始进程 } } public void run(){ //运行进程 while (clock!=null){ repaint(); //调用paint方法重绘界面 try{ Thread.sleep(1000); //线程暂停一秒(1000毫秒) } catch (InterruptedException ex){ ex.printStackTrace(); //输出出错信息 } } } public void stop(){ //停止进程 clock=null; } public void paint(Graphics g){ //重载组件的paint方法 Graphics2D g2=(Graphics2D)g; //得到Graphics2D对象 Calendar now=new GregorianCalendar(); //实例化日历对象 String timeInfo=""; //输出信息 int hour=now.get(Calendar.HOUR_OF_DAY); //得到小时数 int minute=now.get(Calendar.MINUTE); //得到分数 int second=now.get(Calendar.SECOND); //得到秒数 if (hour<=9) timeInfo+="0"+hour+":"; //格式化输出 else timeInfo+=hour+":"; if (minute<=9) timeInfo+="0"+minute+":"; else timeInfo+=minute+":"; if (second<=9) timeInfo+="0"+second; else timeInfo+=second; g.setColor(Color.white); //设置当前颜色为白色 Dimension dim=getSize(); //得到窗口尺寸 g.fillRect(0,0,dim.width,dim.height); //填充背景色为白色 g.setColor(Color.orange); //设置当前颜色为橙色 g.drawString(timeInfo,20,80); //显示时间字符串 } public static void main(String[] args){ new ClockDemo(); } }
测试结果就不展示了,do more exercise!行动起来!
总结
以上就是本文关于Java编程小实例—数字时钟的实现代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:Java编程实现从尾到头打印链表代码实例、Java编程获取文本框的内容实例解析、Java语言中cas指令的无锁编程实现实例等,有什么问题可以随时留言,欢迎大家交流讨论。感谢朋友们对本站的支持!
- React第三方组件1(路由管理之Router的使用①简单使用)
- POj 2253 Frogger
- React项目配置7(ES7的Async/Await的使用)
- HDU 1863 畅通工程
- 最小生成树判断唯一
- React项目配置5(引入MockJs,实现假接口开发)
- POj 1611 The Suspects
- React项目配置4(如何在开发时跨域获取api请求)
- Laravel-博客实战+踩坑laravel-blog最终的效果踩的坑
- React项目配置3(如何管理项目API接口)
- React第三方组件3(状态管理之Flux的使用④TodoList下)
- React第三方组件3(状态管理之Flux的使用③TodoList中)
- Vue实现百度下拉提示搜索一、前期准备二、代码实现三、实现效果
- React第三方组件3(状态管理之Flux的使用②TodoList上)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Python 装饰器填坑指南 | 最常见的报错信息、原因和解决方案
- 社区开源框架预制件相关模块:CollectManager详解
- Kettle构建Hadoop ETL实践(三):Kettle对Hadoop的支持
- 3种 Springboot 全局时间格式化方式,别再写重复代码了
- 一文搞懂CDN加速原理
- 3分钟短文:Laravel Carbon自定义日期时间格式
- (30)字符截取命令sed
- 2. Bean Validation声明式校验方法的参数、返回值
- 如何识别和阻止基于电报的僵尸网络
- 由String,String Builder,String Buffer 引起的面试惨案
- MySQL案例:各类临时文件的存放位置
- 关于加@Transactional注解的方法之间调用,事务是否生效的问题
- 基于Vue实现一个有点意思的拼拼乐小游戏
- 硬核手写字节码实现HelloWorld
- 由 go orm 引发的探索