import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.event.*;
import javax.swing.*;
import javax.swing.Timer;
public class Clock extends JFrame implements ActionListener{
Timer timer;
int x,y,old_X,old_Y, r,x0,y0,w,h,ang;
int sdo,mdo,hdo,old_M,old_H;
TimeZone tz =TimeZone.getTimeZone("JST");
final double RAD=Math.PI/180.0;
public static void main(String[] args){
Clock cl = new Clock();
}
public void actionPerformed(ActionEvent e) {
timer.restart();
}
Clock(){
super("@A荣天");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBackground(new Color(0,0,0));
setSize(300,300);
setVisible(true);
setAlwaysOnTop(true);
setResizable(false);
setLocationRelativeTo(null);
int delay = 1000;
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
repaint();
}
};
new Timer(delay, taskPerformer).start();
}
public void paint( Graphics g ) {
Insets insets = getInsets();
int L0 = (insets.left)/2, T0 = (insets.top)/2;
int hh,mm,ss;
String st;
h=getSize().height;
g.setColor(Color.white);
g.drawOval(L0+30,T0+30,h-60,h-60);
g.drawOval(L0+32,T0+32,h-64,h-64);
r=h/2-30;
x0=30+r-5+L0;
y0=30+r-5-T0;
ang=60;
for (int i=1; i<=12; i++) {
x=(int)((r+10)*Math.cos(RAD*ang)+x0);
y=(int)((r+10)*Math.sin(RAD*ang)+y0);
g.drawString(""+i,x,h-y);
ang-=30;
}
x0=30+r+L0; y0=30+r+T0;
Calendar now=Calendar.getInstance();
hh=now.get(Calendar.HOUR_OF_DAY);
mm=now.get(Calendar.MINUTE);
ss=now.get(Calendar.SECOND);
g.setColor(Color.blue);
g.fillRect(L0,T0,60,28);
g.setColor(Color.lightGray);
if (hh < 10) st="0"+hh; else st=""+hh;
if (mm < 10) st=st+":0"+mm; else st=st+":"+mm;
if (ss < 10) st=st+":0"+ss; else st=st+":"+ss;
g.drawString(st,L0,T0+25);
sdo=90-ss*6;
mdo=90-mm*6;
import java.awt.event.*;
import java.util.*;
import javax.swing.event.*;
import javax.swing.*;
import javax.swing.Timer;
public class Clock extends JFrame implements ActionListener{
Timer timer;
int x,y,old_X,old_Y, r,x0,y0,w,h,ang;
int sdo,mdo,hdo,old_M,old_H;
TimeZone tz =TimeZone.getTimeZone("JST");
final double RAD=Math.PI/180.0;
public static void main(String[] args){
Clock cl = new Clock();
}
public void actionPerformed(ActionEvent e) {
timer.restart();
}
Clock(){
super("@A荣天");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBackground(new Color(0,0,0));
setSize(300,300);
setVisible(true);
setAlwaysOnTop(true);
setResizable(false);
setLocationRelativeTo(null);
int delay = 1000;
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
repaint();
}
};
new Timer(delay, taskPerformer).start();
}
public void paint( Graphics g ) {
Insets insets = getInsets();
int L0 = (insets.left)/2, T0 = (insets.top)/2;
int hh,mm,ss;
String st;
h=getSize().height;
g.setColor(Color.white);
g.drawOval(L0+30,T0+30,h-60,h-60);
g.drawOval(L0+32,T0+32,h-64,h-64);
r=h/2-30;
x0=30+r-5+L0;
y0=30+r-5-T0;
ang=60;
for (int i=1; i<=12; i++) {
x=(int)((r+10)*Math.cos(RAD*ang)+x0);
y=(int)((r+10)*Math.sin(RAD*ang)+y0);
g.drawString(""+i,x,h-y);
ang-=30;
}
x0=30+r+L0; y0=30+r+T0;
Calendar now=Calendar.getInstance();
hh=now.get(Calendar.HOUR_OF_DAY);
mm=now.get(Calendar.MINUTE);
ss=now.get(Calendar.SECOND);
g.setColor(Color.blue);
g.fillRect(L0,T0,60,28);
g.setColor(Color.lightGray);
if (hh < 10) st="0"+hh; else st=""+hh;
if (mm < 10) st=st+":0"+mm; else st=st+":"+mm;
if (ss < 10) st=st+":0"+ss; else st=st+":"+ss;
g.drawString(st,L0,T0+25);
sdo=90-ss*6;
mdo=90-mm*6;