资源简介
用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源码 以及项目
- mchange-commons-java-0.2.15.jar
-
ob
jectOrientedProgrammingwithJava.pdf - java项目实战适合初学者
- 数字图像处理java版源代码
- Java 、Android实现MP4裁剪功能
- 微信扫码支付源码
- java实现RSA算法的大整数编程----实现对
- SHA1或MD5算法获取文件摘要值(JAVA)
- javaWeb激活邮箱验证资料
- javaWeb前后台交互
- oracle+javaweb 电影管理系统
- 《轻量级Java EE企业应用实战第5版》光
- LWJGL-2.90
- javax.servlet的jar包
- 图书租借系统 javaGUI程序
- jsp+mysql+mvc模式管理系统
- 在线投票系统模块设计报告
- java图书馆简易管理系统
- Java远程控制源代码
- mvc模式画圆JAVA实现
- Java点对点语音实时聊天
- JAVA实现找回密码功能详解。
- java文本编辑器 仿windows记事本
- FineReport报表API源代码报表调用
- Thinking in Java(第四版)源代码
- java的hill算法
- 清华大学编译课decaf编译器源码
- 餐厅点菜管理系统-数据库课程设计
- 公司访客登记系统JavaBean+Servlet+MySql
评论
共有 条评论