复制代码代码如下:
//แพ็คเกจ com.clock;
นำเข้า java.awt.BasicStroke;
นำเข้า java.awt.Color;
นำเข้า java.awt.Font;
นำเข้า java.awt.Graphics;
นำเข้า java.awt.Graphics2D;
นำเข้า java.awt.Insets;
นำเข้า java.awt.event.ActionEvent;
นำเข้า java.awt.event.ActionListener;
นำเข้า java.awt.event.WindowAdapter;
นำเข้า java.awt.event.WindowEvent;
นำเข้า java.util.Calendar;
นำเข้า java.util.GregorianCalendar;
นำเข้า javax.swing.*;
นำเข้า javax.swing.JFrame;
นาฬิกาคลาสสาธารณะขยาย JFrame ใช้งาน ActionListener {
RAD คู่สุดท้ายส่วนตัว = Math.PI/180;
นาฬิกาสาธารณะ () {
ซุปเปอร์("นาฬิกา");
กำหนดขนาด (400, 400);
กำหนดตำแหน่ง (400, 200);
setVisible (จริง);
setResizable (จริง);
setBackground(สี.ขาว);
addWindowListener (WindowAdapter ใหม่ () {
@แทนที่
โมฆะสาธารณะ windowClosing (WindowEvent e) {
System.ออก(0);
-
-
ActionListener DrawClock=ใหม่ ActionListener() {
@แทนที่
การกระทำที่เป็นโมฆะสาธารณะดำเนินการ (ActionEvent e) {
ทาสีใหม่();
-
-
ตัวจับเวลาใหม่ (1,000,drawClock).start();
-
@แทนที่
การกระทำที่เป็นโมฆะสาธารณะดำเนินการ (ActionEvent e) {}
สีโมฆะสาธารณะ (กราฟิก g) {
Graphics2D g2=(กราฟิก2D)g;
แทรก insert=getInsets();
int h=getSize().height;
g2.setStroke(BasicStroke ใหม่(3.0f));
g.drawOval(40,40, ชม.-80,ชม.-80);
int r=200;
อินท์ R1=140;
int initRad=60;
สำหรับ(int i=1;i<=5;i++){
int x0= (int) (r+R1*Math.cos(RAD*initRad));
int y0= (int) (r-R1*Math.sin(RAD*initRad));
g.setFont(แบบอักษรใหม่("楷体", Font.BOLD, 20));
g.drawString(""+i, x0, y0);
initRad-=30;
-
อินท์ R2=150;
int initRad2=-120;
สำหรับ(int i=7;i<=11;i++){
int x0= (int) (r+R2*Math.cos(RAD*initRad2));
int y0= (int) (r-R2*Math.sin(RAD*initRad2));
g.setFont(แบบอักษรใหม่("楷体", Font.BOLD, 20));
g.drawString(""+i, x0, y0);
initRad2-=30;
-
g.drawString("6", 190, 350);
g.drawString("12", 190, 60);
ปฏิทินตอนนี้=ปฏิทินเกรกอเรียนใหม่();
int hour=now.get(ปฏิทิน.HOUR_OF_DAY);
int นาที=now.get(ปฏิทิน.นาที);
int Second=now.get(ปฏิทิน.SECOND);
เวลาสตริง;
if(ชั่วโมง<10){time="0"+hour;}else{time=""+hour;}
if(นาที<10){time+=":0"+นาที;}else{time+= Harris :+นาที;}
if(วินาที<10){time+=":0"+second;}else{time+= Harrison:+second;}
g.setColor(สี.WHITE);
g.fillRect(10, 30, 90, 28);
g.setColor(สี.แดง);
g.drawString (เวลา 10, 50);
int S=90 วินาที*6;
int M=90-นาที*6;
int H=90 ชั่วโมง*30 นาที/2;
g2.setStroke(BasicStroke ใหม่(1.0f));
int x=(int) (200+130*Math.cos(RAD*S));
int y=(int) (200-130*Math.sin(RAD*S));
int SS=90-(วินาที-1)*6;
int xx=(int) (200+130*Math.cos(RAD*SS));
int yy=(int) (200-130*Math.sin(RAD*SS));
g.setColor(getBackground());
g.drawLine(200, 200, xx, ปปป);
g.setColor(สี.สีดำ);
g.drawLine(200, 200, x, y);
g2.setStroke(BasicStroke ใหม่(2.2f));
int x1=(int) (200+110*Math.cos(RAD*M));
int y1=(int) (200-110*Math.sin(RAD*M));
int มม.=90-(นาที-1)*6;
int x11=(int) (200+110*Math.cos(RAD*MM));
int y11=(int) (200-110*Math.sin(RAD*MM));
g.setColor(getBackground());
g.drawLine(200, 200, x11, y11);
g.setColor(Color.blue);
g.drawLine(200, 200, x1, y1);
g2.setStroke (BasicStroke ใหม่ (4.3f));
int xx1=(int) (200+90*Math.cos(RAD*H));
int yy1=(int) (200-90*Math.sin(RAD*H));
int HH=90-(ชั่วโมง-1)*30 นาที/2;;
int xxx1=(int) (200+90*Math.cos(RAD*HH));
int yyy1=(int) (200-90*Math.sin(RAD*HH));
g.setColor(สี.สีขาว);
g.drawLine(200, 200, xxx1, yyy1);
g.setColor(สี.เขียว);
g.drawLine(200, 200, xx1, yy1);
-
โมฆะคงที่สาธารณะ main (String [] args) {
นาฬิกาใหม่ ();
-
-