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指令的无锁编程实现实例等,有什么问题可以随时留言,欢迎大家交流讨论。感谢朋友们对本站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。