资源简介
用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
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- 美食天下项目Android版源码和Web版源码
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- u-blox_Android_GNSS_Driver_v3.10驱动源码+中
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- 个人根据Android移动开发案例详解手写
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 基于JSP的学生宿舍管理系统(源码 数
- mysql jsp网站源码下载
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
评论
共有 条评论