當前位置:編程學習大全網 - 編程語言 - java計時器秒表源代碼

java計時器秒表源代碼

import java.awt.*;

public class Clock {

private int hour;

private int minute;

private int second;

public Clock(){

}

public Clock(int hrs,int min,int sec){

hour =hrs % 12;

minute = min;

second = sec;

}

void show (Graphics g,int cx,int cy,int rad){

int hourLenght = (int)(rad * 0.5);//時針的長度

int minuteLenght = (int)(rad * 0.6);//分針的長度

int secondLenght = (int)(rad * 0.9);//秒針的長度

double angle;//角度

//畫出鐘面

g.drawOval(cx-rad, cy - rad, rad * 2, rad * 2);

//畫出時針

angle = (double)(hour*60*60 + minute*60 + second)/43200.0*2.0*Math.PI;

drawNiddle(g,Color.blue, cx, cy, hourLenght,angle);

//畫分針

angle = (double)(minute*60 + second)/3600 * 2.0 * Math.PI;

drawNiddle(g,Color.blue, cx, cy, minuteLenght,angle);

// 畫秒針

angle = (double)(second)/60*2.0*Math.PI;

drawNiddle(g,Color.blue, cx, cy, secondLenght,angle);

}

private void drawNiddle(Graphics g ,Color c,int x,int y,int len,double angle){

int ex = (int)(x + len * Math.sin(angle));

int ey = (int)(y - len * Math.cos(angle));

g.setColor(c);

g.drawLine(x,y,ex,ey);

}

}

----------------ClockTest1.java---------------------

import javax.swing.*;

import java.awt.*;

import java.util.*;

public class ClockTest1 extends JFrame{

/**

* @param args

*/

private Clock clock ;

private Date timeNow;

public ClockTest1(){

super("時鐘");

setSize(400,400);

setVisible(true);

}

public void paint(Graphics g){

super.paint(g);

timeNow = new Date();

clock = new Clock(timeNow.getHours(),timeNow.getMinutes(),timeNow.getSeconds());

clock.show(g,170,150,100);

try{

//for(int i =0 ; i <10 ; i += 10)

Thread.sleep(1000);

}catch(InterruptedException e){

}

repaint();

}

public static void main(String[] args) {

// TODO 自動生成方法存根

ClockTest1 appication = new ClockTest1();

appication.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

  • 上一篇:彩色印刷機的編程
  • 下一篇:C++和C還有很大的效率差異嗎?
  • copyright 2024編程學習大全網