您的位置:首页 > 编程语言 > Java开发

[Java] Tread.sleep() 电子表显示时期和时间

2011-04-19 02:45 309 查看
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class DigitalClockTest{
public static void main(String[] args){
JFrame jf = new JFrame("Digital Clock");
JLabel jlblClock = new JLabel("time");

jlblClock.setHorizontalAlignment(JLabel.CENTER);//设置Label中文件居中显示
jf.add(jlblClock,"Center");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLocationByPlatform(true);
jf.pack();
jf.setVisible(true);

MyThread mt = new MyThread(jlblClock);
mt.start();
}
}
class MyThread extends Thread{
private JLabel clock;

//得到当前的时期和时间
public String getTime(){
Calendar c = new GregorianCalendar();
String time = c.get(Calendar.YEAR)+"/"+(c.get(Calendar.MONTH)+1)+"/"+c.get(Calendar.DATE)+" ";
int h = c.get(Calendar.HOUR_OF_DAY);
int m = c.get(Calendar.MINUTE);
int s = c.get(Calendar.SECOND);
String ph = h<10 ? "0":"";
String pm = m<10 ? "0":"";
String ps = s<10 ? "0":"";
time+= ph+h+":"+pm+m+":"+ps+s;
return time;
}
//将日期和时间显示在lable上面并设置 1 秒刷新一次
public MyThread(JLabel clock){
this.clock = clock;
}
@Override
public void run(){
while(true){
clock.setText(this.getTime());
try{
Thread.sleep(1000);//设置时间间隔为1000ms
}
catch(Exception e){
System.out.println(e);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: