java怎么实现时钟效果

  介绍

小编给大家分享一下java怎么实现时钟效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

具体内容如下

实现效果如图:

癹ava怎么实现时钟效果"

<强> java代码:

<强>文件一: ClockPanel。java

import  static  java.util.Calendar.HOUR;   import  static  java.util.Calendar.MILLISECOND;   import  static  java.util.Calendar.MINUTE;   import  static  java.util.Calendar.SECOND;   import  java.awt.BasicStroke;   import  java.awt.Color;   import  java.awt.Dimension;   import  java.awt.Graphics;   java . awt . graphics2d import ;   import  java.util.Calendar;   import  javax.swing.ImageIcon;   import  javax.swing.JPanel;/* *   ,*时钟面板   *大敌;   ,* @author 听说你很会玩   ,*/@SuppressWarnings (“serial")   public  class  ClockPanel  extends  JPanel  {   ,//3个指针的粗细   ,private  static  final  BasicStroke  HOURS_POINT_WIDTH =, new  BasicStroke (4);   ,private  static  final  BasicStroke  MINUETES_POINT_WIDTH =, new  BasicStroke (3);   ,private  static  final  BasicStroke  SEC_POINT_WIDTH =, new  BasicStroke (2);   ,ImageIcon 背景;//,背景图片对象   ,private  int  centerX;//,中心坐标   ,private  int  centerY;//,中心坐标   ,private  final  static  int  secLen =, 60,,//,指针长度   ,private  final  static  int  minuesLen =, 55岁,,//,指针长度   ,private  final  static  int  hoursLen =, 36,,//,指针长度   ,/* *   ,*构造方法   ,*/,public  ClockPanel (), {   ,setToolTipText(“小键盘+,-调整透明度,Crtl + Shift + X退出“);//,提示信息   ,setOpaque(假);   ,=,,background  new  ImageIcon (getClass () .getResource (“clock.jpg"));//,加载图片   ,int  iconWidth =, background.getIconWidth();//,获取图片大?,,centerX  iconWidth /, 2;//,获取图片中间坐标   ,int  iconHeight =, background.getIconHeight ();=,,centerY  iconHeight /, 2;//,获取图片中间坐标   ,setPreferredSize (new 维度(iconWidth, iconHeight));   ,}   ,   ,@Override   ,public  void 油漆(Graphics  g),{//,重写父类方法   ,Graphics2D  g2 =, (Graphics2D), g;   ,g2.drawImage (background.getImage(),, 0, 0,,这一点);//,绘制背景图片   ,Calendar  Calendar =, Calendar.getInstance();//,获取日历对象   ,int  millisecond =, calendar.get(毫秒);//,获取毫秒值   ,int  sec =, calendar.get(第二);//,获取秒值   ,int  minutes =, calendar.get(分钟);//,获取分值   ,int  hours =, calendar.get(小时);//,获取时的值   ,double  secAngle =,(60,安康,sec), *, 6,安康;(millisecond /, 150);,//,秒针角度   ,int  minutesAngle =,(60,安康;分钟),*,6;//,分针角度   ,int  hoursAngle =,(12,安康;小时),*,360,/,12,安康;(时间/minutes  2);//,时针角度   ,//计算秒针,分针,时针指向的坐标   ,int  secX =, (int), (secLen  *, sin (Math.toRadians (secAngle)));//,秒针指向点的X坐标   ,int  secY =, (int), (secLen  *, Math.cos (Math.toRadians (secAngle))),,//,秒针指向点的Y坐标   ,int  minutesX =, (int), (minuesLen  *,数学   ,.sin (Math.toRadians (minutesAngle))),,//,分针指向点的X坐标   ,int  minutesY =, (int), (minuesLen  *,数学   ,.cos (Math.toRadians (minutesAngle))),,//,分针指向点的Y坐标   ,int  hoursX =, (int), (hoursLen  *, sin (Math.toRadians (hoursAngle))),,//,时针指向点的X坐标   ,int  hoursY =, (int), (hoursLen  *, Math.cos (Math.toRadians (hoursAngle))),,//,时针指向点的Y坐标   ,//分别绘制时针,分针,秒针   ,g2.setStroke (HOURS_POINT_WIDTH);//,设置时针的宽度   ,g2.setColor (Color.BLACK);//,设置时针的颜色   ,g2.drawLine (centerX, centerY,, centerX 作用;hoursX,, centerY 作用;hoursY);//,绘制时针   ,g2.setStroke (MINUETES_POINT_WIDTH);//,设置分针的宽度   ,if  (minutesAngle  !=, hoursAngle),//,分针,时针重叠变色   ,g2.setColor (new 颜色(0 x2f2f2f));//,设置未重叠时的颜色   ,else  {   ,g2.setColor (Color.GREEN);//,设置重叠时的颜色   ,}   ,g2.drawLine (centerX, centerY,, centerX 作用;minutesX,, centerY 作用;minutesY);//,绘制分针   ,g2.setStroke (SEC_POINT_WIDTH);//,设置秒针的宽度   ,if  (secAngle  !=, hoursAngle ,,, secAngle  !=, minutesAngle)//,分针,时针,秒针重叠变色   ,g2.setColor (Color.ORANGE);//,设置未重叠时的颜色   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

java怎么实现时钟效果