• 大小: 14KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Java
  • 标签: 时钟  JAVA  

资源简介

此资源是一个用JAVA编制的时钟程序,此压缩包包含有java和word文件各一个,可实现当前时间的数字式和表盘式显示,用户可根据自己的需求对窗口数值进行修改,以达到自身的需求。

资源截图

代码片段和文件信息

import java.awt.BasicStroke;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.*;
public class rw23 extends Jframe implements ActionListener{
int xyx_1y_1rhss_xss_ymm_xmm_yhh_xhh_yssmmhhold_mold_hang;
final double RAD =Math.PI/180;//度数转换成弧度的比例
//构造函数创建了一个窗体
public static void main(String[] args) {
// TODO Auto-generated method stub
rw23 cd=new rw23();
System.out.println(“JAVA小时钟已成功显示!“);
}
public rw23() {
super(“JAVA 小时钟“);
setDefaultCloseOperation(3);
Image image =getToolkit().getImage(“1.jpg“);
setIconImage(image);
setSize(500500);
setBackground(Color.black);
setLocation(300150);
setResizable(false);
setVisible(true);
show();
int delay =1000;
ActionListener draw =new ActionListener() {//创建一个监听事件
public void actionPerformed(ActionEvent evt) {
repaint();
}

};
new Timer(delaydraw).start();//创建一个时间计数器,每一秒触发一次
}
//实现ActionListener接口必须实现的方法
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
public void paint(Graphics g) {
//绘制图形
Graphics2D g2D=(Graphics2D) g;//Graphics强制类型转换成Graphics2D
Insets insets =getInsets();//创建Jframe的边界对象
int L=insets.left/2T=insets.top/2;//L=左边界的2/1,T=上边界的2/1
h =getSize().height;//返回Jframe的高度
g.setColor(new Color(1157418));//设置画笔颜色为棕色
//画圆
g2D.setStroke(new BasicStroke(5.0f));//勾画出宽度为4cm的圆
g.drawOval(L+40T+40h-80h-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.BOLD12));
g.setColor(new Color(255255255));
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(““+ ix 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
g.setColor(Color.pink);
g.fillRect(L T 90 40);//画出宽为60像素,高为30像素的矩形,颜色为粉色
g.setColor(Color.yellow);
g.drawString(st L+14 T+30);//将上面组合的字符串st画出,颜色为黄色
//计算时间与度数的关系
ss=90-second*6;
mm=90-minute*6;
hh=90-hour*30-minute/2;
x_1=r+40+L;
y_1=r+40+T;
g2D.setStroke(new BasicStroke(1.0f));//设置秒针的宽度
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(2559971));
g.drawLine(x_1 y_1 x h-y)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15459  2018-09-23 21:33  JAVA时钟\JAVA时钟.docx

     文件       4033  2018-09-20 15:22  JAVA时钟\rw23.java

     目录          0  2018-09-23 21:33  JAVA时钟

----------- ---------  ---------- -----  ----

                19492                    3


评论

共有 条评论