菜鸟求助:如何用多线程写一个 电子时钟 的程序
原题:通过多线程实现电子时钟的功能(提示:需用到java.unil.Calendar类来获得系统时间)我线程学得不好,又不知道java.unil.Calendar怎么用,所以请教下给为朋友,小鸟,大鸟,老鸟们。
----------------解决方案--------------------------------------------------------
给你个源代码你自己看看吧
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.swing.JFrame;
import javax.swing.JPanel;
class Clock extends Canvas implements Runnable{
/*
http://ohgrateboy.blog.163.com我的博客
*/
private static final long serialVersionUID = 3660124045489727166L;
Thread t;
JFrame frame=new JFrame();
JPanel conPane;
String time;
int i=0;
Date timer;
public Clock(){
conPane=(JPanel)frame.getContentPane();
conPane.setLayout(new BorderLayout());
conPane.setSize(280,40);
conPane.setBackground(Color.white);
conPane.add(this,BorderLayout.CENTER);
t=new Thread(this); //实例化线
t.start(); //调用线程
frame.setVisible(true);
frame.setSize(300, 150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void run(){
while(true){
try{
Thread.sleep(1000); //休眠1秒钟
}catch(InterruptedException e){
System.out.println("异常");
}
this.repaint(100);
}
}
public void paint(Graphics g){
Font f=new Font("宋体",Font.BOLD,16);
SimpleDateFormat SDF=new SimpleDateFormat("yyyy'年'MM'月'dd'日'HH:mm:ss");//格式化时间显示类型
Calendar now=Calendar.getInstance();
time=SDF.format(now.getTime()); //得到当前日期和时间
g.setFont(f);
g.setColor(Color.orange);
g.drawString(time,45,25);
}
public static void main(String args[]){
new Clock();
}
}
----------------解决方案--------------------------------------------------------
可也访问[url=http://ohgrateboy.blog.163.com]http://ohgrateboy.blog.163.com[/url]:
----------------解决方案--------------------------------------------------------
回复 1# 烂剑一少 的帖子
http://hi.baidu.com/lj1989/blog/item/a9ec2333c6bdc9fe1b4cffe8 ----------------解决方案--------------------------------------------------------
回复 2# jdk2006 的帖子
谢谢了。。。第一次发帖子,以为没人看,所以很久没来这了。这个问题也一直没解决,现在有源代码了,谢谢你了!
----------------解决方案--------------------------------------------------------
回复 4# 守望者c_free 的帖子
谢谢了,我马上看看~~~~ ----------------解决方案--------------------------------------------------------