资源简介

用java写的一个数字时钟,弹出的窗口用于显示当前系统时间,使用液晶字体显示时间,效果更炫 这个小案例汇集了众多java功能,图形用户编程、多线程等

资源截图

代码片段和文件信息

/**
 *@author side
 *@date 2010年10月14日
 *@function 自动弹出一个小窗口,窗口中显示当前系统时间,显示格式为
 * “时:分:秒”,使用液晶数字字体显示
 */
import java.awt.Color;
import java.awt.Font;
import java.util.*;
import java.awt.Graphics;
import javax.swing.*;
//创建主窗口
public class DigitalClock extends Jframe{
//定义一个面板对象
ClockArea ca=null;

//定义构造函数,初始化
public DigitalClock(){
//创建一个面板对象,内容是数字时钟
ca=new ClockArea();
//创建一个时钟线程,使得时钟能按照秒针跳动
Thread t=new Thread(ca);
//启动线程
t.start();
//将时钟添加到主窗口中
this.add(ca);
//初始化主窗口
this.setSize(290100);
this.settitle(“现在时刻...“);
this.setLocation(200150);
this.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
}
public static void main(String[] args) {
//创建一个主窗口,显示面板中的时钟
DigitalClock clock=new DigitalClock();


}

}
//时钟区域类,用于显示时钟
class ClockArea extends JPanel implements Runnable{
//该类的对象用于存取当前系统时间
Calendar cal=null;
//控制时钟在面板中显示的位置
int x;
int y;

//定义三个变量,用于接收当前系统时间(分别是时分秒)
private int hour=0;
private int minute=0;
private int second=0;
//定义三个字符串,用于后面的画图参数
String sHour=“0“;
String sMinute=“0“;
String sSecond=“0“;
//构造函数,用于初始化时钟面板
public ClockArea(){
//指定时钟出现的位置
this.x=12;
this.y=62;

//获取初始化时的系统时间
cal=Calendar.getInstance();
hour=cal.get(Calendar.HOUR_OF_DAY);
minute=cal.get(Calendar.MINUTE);
second=cal.get(Calendar.SECOND);
//下面一串if-else语句用于控制时钟显示的格式。使得个位数能以两位出现
if(hour<10){
sHour=“0“+String.valueOf(hour);
}else{
sHour=String.valueOf(hour);
}
if(minute<10){
sMinute=“0“+String.valueOf(minute);
}else{
sMinute=String.valueOf(minute);
}
if(second<10){
sSecond=“0“+String.valueOf(second);
}else{
sSecond=String.valueOf(second);
}
}

//画图函数
public void paint(Graphics g){
//调用父类构造函数进行初始化
super.paint(g);
//设定画笔颜色
g.setColor(Color.blue);
//设定所绘制数字的字体
g.setFont(new Font(“DS-Digital“Font.PLAIN80));
//在相应位置画出时分秒
g.drawString(sHour x y);
g.drawString(“:“x+60y-5);
g.drawString(sMinutex+80y);
g.drawString(“:“x+165y-5);
g.drawString(sSecondx+185y);
}

//重写Runnable接口方法
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
//刷新时间
while(true){
//获取当前系统时间
cal=Calendar.getInstance();
hour=cal.get(Calendar.HOUR_OF_DAY);
minute=cal.get(Calendar.MINUTE);
second=cal.get(Calendar.SECOND);
if(hour<10){
sHour=“0“+String.valueOf(hour);
}else{
sHour=String.valueOf(hour);
}
if(minute<10){
sMinute=“0“+String.valueOf(minute);
}else{
sMinute=String.valueOf(minute);
}
if(second<10){
sSecond=“0“+String.valueOf(second);
}else{
sSecond=String.valueOf(second);
}
//重绘时钟
this.repaint();

//设置刷新时间间隔
try {
Thread.sleep(500);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      24448  1999-02-01 10:06  DS-DIGI.TTF

     文件       3360  2010-10-14 14:07  DigitalClock.java

----------- ---------  ---------- -----  ----

                27808                    2


评论

共有 条评论