clock.java
来自「Java实现clock」· Java 代码 · 共 86 行
JAVA
86 行
import java.applet.Applet;
import java.awt.*;
import java.util.*;
public class Clock extends Applet implements Runnable
{
Thread thisThread;
Color faceColor,borderColor,minuteColor,hourColor,secondColor;
public void init()
{
faceColor = readColor (getParameter("faceCol"));
borderColor = readColor (getParameter("borderCol"));
minuteColor = readColor (getParameter("minuteCol"));
hourColor = readColor (getParameter("hourCol"));
secondColor = readColor (getParameter("secondCol"));
}
public Color readColor(String aColor)
{
if(aColor==null)
return Color.black;
int r,g,b;
StringTokenizer st = new StringTokenizer(aColor,",");
try
{
r = Integer.valueOf(st.nextToken()).intValue();
g = Integer.valueOf(st.nextToken()).intValue();
b = Integer.valueOf(st.nextToken()).intValue();
return new Color(r,g,b);
}
catch (Exception e)
{
System.out.println("Error: "+e);
return Color.black;
}
}
public void start()
{
thisThread = new Thread(this);
thisThread.start();
}
public void run()
{
while(true)
{
repaint();
try
{
thisThread.sleep(1000);
}
catch (Exception e){}
}
}
public void update(Graphics g)
{
paint(g);
}
public void paint(Graphics g)
{
g.setColor(faceColor);
g.fillOval(0,0,100,100);
g.setColor(borderColor);
g.drawOval(0,0,100,100);
Calendar d = Calendar.getInstance();
g.setColor(minuteColor);
double angle = (((double)(90-d.get(Calendar.MINUTE)))/60)*2*Math.PI;
g.drawLine(50,50,50+(int)(Math.sin(angle)*50),50+(int)(Math.cos(angle)*50));
g.setColor(hourColor);
angle = (((double)(18-d.get(Calendar.HOUR_OF_DAY)+(double)(Calendar.MINUTE)/60))/12)*2*Math.PI;
g.drawLine(50,50,50+(int)(Math.sin(angle)*40),50+(int)(Math.cos(angle)*40));
g.setColor(secondColor);
angle = (((double)(90-d.get(Calendar.SECOND)))/60)*2*Math.PI;
g.drawLine(50,50,50+(int)(Math.sin(angle)*50),50+(int)(Math.cos(angle)*50));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?