利用多线程实现电子时钟
2012-09-03 18:52
375 查看
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Clock {
/**
* @param args
*/
public static void main(String[] args) {
//布局电子时钟界面
JFrame jf=new JFrame("Clock");
JLabel jl=new JLabel("Clock");
jl.setHorizontalAlignment(JLabel.CENTER);
jf.add(jl,"Center");
jf.setSize(200,150);
jf.setLocation(400,200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
//多线程开始
Thread t = new MyThread(jl);
t.start();
}
}
class MyThread extends Thread{
private JLabel clock;
public MyThread(JLabel clock){
this.clock = clock;
}
public void run(){
while(true){
clock.setText(this.getTime());
try {
//休眠一秒钟
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private String getTime() {
Calendar c = new GregorianCalendar();
//获取日期
String time = c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH)+1) + "-" +c.get(Calendar.DATE) + " ";
//获取时刻
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
//当时间不足10的时候,在个位数前加一个0,使时间整齐
String ph = hour < 10 ? "0" : "";
String pm = minute < 10 ? "0" : "";
String ps = second < 10 ? "0" : "";
time += ph + hour + ":" + pm + minute + ":" + ps + second;
return time;
}
}
相关文章推荐
- [原创]利用php和javascript实现服务器时间电子时钟
- c++利用winapi实现简单多线程
- Linux下利用多线程实现矩阵相乘的并行计算
- VC中利用多线程实现线程间通信
- java Thread:利用Thread类实现多线程
- 在android中利用多线程实现对控件的更新(动态修改文本框中的值)。简述原理并上传代码。 .
- 利用多线程和TCP技术,实现客户端与服务端之间的通信
- Arduino入门笔记(7):利用1602、1302实现时钟和定时器
- C# winfrom利用多线程实现滚动条效果
- C#--利用Timer控件设计一个电子时钟。
- 8c 利用定时器实现时钟
- VC下利用多线程实现文件的快速检索
- 利用PPL实现复杂的多线程模式的生产者-消费者
- windows多线程系列004_利用关键代码段实现线程同步
- 安卓系统下的多线程断点下载实现2利用开源框架XUtils
- 利用条件变量实现多线程生产者消费者问题
- JS实现电子时钟效果
- 利用java socket实现多线程局域网聊天应用
- 多线程编程Demo[利用互斥对象实现线程间同步]
- 1.利用有名管道和多线程实现双方互相通信