JAVA——编写时钟程序

编写时钟程序


1.要求

创建一个窗口并实时显示当前时间,每1秒时钟内容更新一次,在界面中包含数字式和表盘式的显示。

2.语法

  • Java.util.Calendar包的使用
    绘制时钟图形
  • GregorianCalendar()的用法
    Calender now=new GregorianCalendar();
  • 绘制图形Graphics2D g2D=(Graphics2D)g;,Graphics强制类型转换成Graphics2D。
  • 获取系统时间。
    1)int hour=now.get(Calendar.HOUR_OF_DAY):取得当前的小时部分;
    2)int minute=now.get(Calendar.MINUTE):取得当前时间的分钟部分;
    3)int second =now.get(Calendar.SECOND):取得当前时间的秒。

3.代码

绘制时钟图形:

//绘制图形
		Graphics2D g2D=(Graphics2D) g;//Graphics强制类型转换成Graphics2D
		Insets insets =getInsets();//创建JFrame的边界对象
		int L=insets.left/2,T=insets.top/2;//L=左边界的2/1,T=上边界的2/1
		h =getSize().height;//返回JFrame的高度
		g.setColor(new Color(115,74,18));//设置画笔颜色为棕色
		//画圆
		g2D.setStroke(new BasicStroke(5.0f));//勾画出宽度为4cm的圆
		g.drawOval(L+40,T+40,h-80,h-80);//
		r=h/2-40;
		x_1=40+r-5+L;
		y_1=40+r-5-T;
		ang=60;
		//绘制时钟上的12个字
		g.setFont(new Font("",Font.BOLD,12));
		g.setColor(new Color(255,255,255));
		for(int i=1;i<=12;i++) {
			x=(int)((r+12)*Math.cos(RAD * ang)+x_1);
			y=(int)((r+12)*Math.sin(RAD * ang)+y_1);
			g.drawString(""+ i,x, h-y);
			ang -=30;
		}

获得现在的时间:

Calendar now=new GregorianCalendar();//创建Calender对象now
		int hour=now.get(Calendar.HOUR_OF_DAY);//取得当前的小时部分
		int minute=now.get(Calendar.MINUTE);//取得当前时间的分钟部分
		int second =now.get(Calendar.SECOND);//取得当前时间的秒
		String st;
		if(hour<10)
			st="0"+hour;
		else
			st=""+hour;
		if(minute<10)
			st+=":0"+minute;
		else
			st +=":"+minute;
		if(second<10)
			st+=":0"+second;
		else
			st +=":"+second;
		//窗体上显示时间格式,如00:00:00

擦除秒针,原理是将秒针颜色改变为原来的背景颜色(绘制分针和时针的原理与此相同):

if(ss_x>0) {//擦除秒针,原理为改变为原来的背景颜色
			g.setColor(getBackground());
			g.drawLine(x_1, y_1, ss_x, h-ss_y);
		}else {
			old_m = mm;
			old_h = hh;
		}

绘制秒针:

x=(int)(r*0.9*Math.cos(RAD*ss))+x_1;
		y=(int)(r*0.9*Math.sin(RAD*ss))+y_1-2*T;
		g.setColor(new Color(255,99,71));
		g.drawLine(x_1, y_1, x, h-y);
		ss_x=x;
		ss_y=y;

新建窗口并创建一个时间计数器,实现每一秒触发一次:

	public rw23() {
		super("JAVA 小时钟");
		setDefaultCloseOperation(3);
		Image image =getToolkit().getImage("1.jpg");
		setIconImage(image);
		setSize(500,500);
		setBackground(Color.black);
		setLocation(300,150);
		setResizable(false);
		setVisible(true);
		show();
		int delay =1000;
		ActionListener draw =new ActionListener() {//创建一个监听事件
			public void actionPerformed(ActionEvent evt) {
				repaint();
			}
				
		};
		new Timer(delay,draw).start();//创建一个时间计数器,每一秒触发一次
	}

完整的代码可点此进行获取:
https://download.csdn.net/download/atishoo_13/10684018
若想改变窗口的颜色,可参看RGB颜色查询对照表:
https://blog.csdn.net/Atishoo_13/article/details/82788669

4.结果

编译结果如下图所示:
在这里插入图片描述
在这里插入图片描述
运行结果如下图所示:
在这里插入图片描述
在这里插入图片描述

  • 16
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java时钟程序是一种用Java语言编写程序,用于在计算机屏幕上显示当前时间,并实时更新。初学者可以在互联网上下载和安装Java时钟程序。 要下载Java时钟程序,首先需要一个可靠的互联网连接。然后,可以通过搜索引擎在网上查找可靠的网站,如软件下载网站或开发者网站,以获取Java时钟程序的安装文件。 在搜索结果中,可以找到许多Java时钟程序的下载选项。选择一个最受欢迎和好评的程序,并确保它是最新的版本,以确保在安装和使用过程中没有问题。 在找到适合的Java时钟程序后,点击下载按钮将程序文件保存到计算机的指定位置。下载速度取决于互联网连接的速度和程序文件的大小。 一旦下载完成,可以通过双击程序文件来安装Java时钟程序。安装过程通常是自我导航的,并且会显示各种安装选项和设置,如安装路径和程序的开始菜单快捷方式。 完成安装后,可以通过开始菜单中的程序列表或在桌面上的快捷方式启动Java时钟程序。一旦启动,程序将显示当前时间,并随着时间的推移进行实时更新。 总的来说,下载Java时钟程序是一个简单的过程,只需要一个可靠的互联网连接,并通过搜索引擎找到可靠的下载网站。稍后,可以通过安装文件安装程序,并在计算机上使用Java时钟程序来显示当前时间和更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值