📄 clock.java
字号:
// 程序:电子小时钟
// 范例文件:Clock.java
import java.awt.*;
import java.util.*;
import java.applet.*;
public class Clock extends Applet implements Runnable
{
int hour,minute,second,ImageWidth,ImageHeight,X,Y,
width,height;
Image digit[],Background,OffScreen;
Thread newThread;
boolean showSeparator;
Graphics drawOffScreen;
MediaTracker MT;
GregorianCalendar time;
public void init()
{
X = 50;
Y = 110;
MT = new MediaTracker(this);
digit = new Image[11];
width = 210;
height = 135;
Background = getImage(getDocumentBase(),"Images/clock.jpg");
MT.addImage(Background,0);
for(int i=0;i<11;i++)
{
digit[i] = getImage(getDocumentBase(),"Images/" + i + ".jpg");
MT.addImage(digit[i],0);
}
try
{
showStatus("图像载入中(Loading Images)...");
MT.waitForAll();
}
catch(InterruptedException E){ }
ImageWidth = digit[0].getWidth(this);
ImageHeight = digit[0].getHeight(this);
OffScreen = createImage(300,300);
drawOffScreen = OffScreen.getGraphics();
showSeparator = true;
}
public void start()
{
newThread = new Thread(this);
newThread.start();
}
public void stop()
{
newThread = null;
}
public void paint(Graphics g)
{
drawOffScreen.clearRect(X,Y,width,height);
drawOffScreen.drawImage(Background,0,0,this);
if(hour < 10)
{
drawOffScreen.drawImage(digit[0],X,Y,this);
drawOffScreen.drawImage(digit[hour],X+ImageWidth,Y,this);
}
else
{
drawOffScreen.drawImage(digit[hour/10],X,Y,this);
drawOffScreen.drawImage(digit[hour%10],X+ImageWidth,Y,this);
}
if(minute < 10)
{
drawOffScreen.drawImage(digit[0],X+ImageWidth*2+10,Y,this);
drawOffScreen.drawImage(digit[minute],X+ImageWidth*3+10,Y,this);
}
else
{
drawOffScreen.drawImage(digit[minute/10],X+ImageWidth*2+10,Y,this);
drawOffScreen.drawImage(digit[minute%10],X+ImageWidth*3+10,Y,this);
}
if(second < 10)
{
drawOffScreen.drawImage(digit[0],X+ImageWidth*4+15,
Y+ImageHeight-30,15,30,this);
drawOffScreen.drawImage(digit[second],X+ImageWidth*4+30,
Y+ImageHeight-30,15,30,this);
}
else
{
drawOffScreen.drawImage(digit[second/10],X+ImageWidth*4+15,
Y+ImageHeight-30,15,30,this);
drawOffScreen.drawImage(digit[second%10],X+ImageWidth*4+30,
Y+ImageHeight-30,15,30,this);
}
if(showSeparator)
drawOffScreen.drawImage(digit[10],X+ImageWidth*2,Y+10,this);
g.drawImage(OffScreen,0,0,this);
}
public void update(Graphics g)
{
paint(g);
}
public void run()
{
while(newThread != null)
{
time = new GregorianCalendar();
hour = time.get(Calendar.HOUR_OF_DAY);
minute = time.get(Calendar.MINUTE);
second = time.get(Calendar.SECOND);
if(second % 2 == 0)
showSeparator = true;
else
showSeparator = false;
repaint(X,Y,width,height);
try
{
Thread.sleep(500);
}
catch(InterruptedException E){ }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -