《java编写的无重绘闪烁的时钟小程序》由会员分享,可在线阅读,更多相关《java编写的无重绘闪烁的时钟小程序(3页珍藏版)》请在金锄头文库上搜索。
1、import java.util.*;import java.awt.*;import java.applet.*;import java.awt.event.*;import java.io.*;import javax.swing.*;class DrawclockPanel extends JPanel implements Runnablepublic Thread thread=null;public int hour;public int minutes;public int second;public int year;public int month;public int da
2、y;Image clockimage;int clockX;int clockY;public String Weekdays=new String 星期日,星期一,星期二,星期三,星期四, 星期五,星期六;Image off1;Graphics offG;public void start()if(thread=null)thread=new Thread(this);thread.start(); public void run()while(thread!=null) repaint();tryThread.sleep(1000);catch(Exception e)public voi
3、d paint(Graphics g1)super.paint(g1);Graphics2D g=(Graphics2D)g1;g.setColor(Color.black);for(int i=0;i60;i+)clockX=(int)(70*Math.sin(Math.PI/30*i)+127;clockY=(int)(140-70*Math.cos(Math.PI/30*i);if(i%5=0)g.fillOval(clockX-4,clockY-4,8,8);elseg.fillOval(clockX-2,clockY-2,4,4);Calendar calCurrent=Calend
4、ar.getInstance(); int weekday=calCurrent.get(Calendar.DAY_OF_WEEK);day=calCurrent.get(Calendar.DATE); month =calCurrent.get(Calendar.MONTH)+1; year=calCurrent.get(Calendar.YEAR); hour=calCurrent.get(Calendar.HOUR_OF_DAY);minutes=calCurrent.get(Calendar.MINUTE);second=calCurrent.get(Calendar.SECOND);
5、int hourX=(int)(Math.sin(Math.PI/6.0*(hour%12+ (float)minutes/60)*50)+127;int hourY=140-(int)(Math.cos(Math.PI/6.0*(hour%12+(float)minutes/60)*50);int secondX=(int)(Math.sin(Math.PI/30.0*second)*70)+127;int secondY=140-(int)(Math.cos(Math.PI/30.0*second)*70);int minutesX=(int)(Math.sin(Math.PI/30.0*
6、minutes)*60)+127;int minutesY=140-(int)(Math.cos(Math.PI/30.0*minutes)*60);g.setColor(Color.magenta);g.setFont(new Font(Curier,20,20); g.drawString(今天是 +year+-+month+-+day+Weekdaysweekday-1, 0, 20);g.drawString(现在时刻 +hour+:+minutes+:+second, 0, 40);g.setStroke(new BasicStroke(3.0f,BasicStroke.CAP_RO
7、UND,BasicStroke.JOIN_ROUND);g.setColor(Color.red);g.drawLine(127, 140, hourX, hourY);g.setColor(Color.blue);g.drawLine(127, 140, minutesX, minutesY);g.setColor(Color.green);g.drawLine(127,140,secondX,secondY);public class Drawclockpublic static void main(String args)JFrame frame=new JFrame();frame.setTitle(钟表);DrawclockPanel panel=new DrawclockPanel();frame.add(panel);panel.start();frame.setVisible(true);frame.setSize(270,300);frame.setLocation(500,250);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setResizable(false);