如何在Frame上显示一个动态变化的时间?
以前学VB的时候有个Timer控件,设置它的响应时间为1秒,每过一秒钟重写一次Label为当前的系统时间,就可以做到了。可Java的GUI中没有这个控件,我试着用线程去写,可是无奈水平有限,半天都没有搞定,不知哪位大侠有实现的方法吗?先谢谢了!
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD hh:mm:ss")
jLabel1.setText(sdf.format(new Date()));
就是让它每秒钟变一次,并显示在Label中。
问题点数:2、回复次数:5Top
1 楼Magic29(明)回复于 2006-03-03 15:26:41 得分 0
新建一个线程对象把你的代码加入,然后调用它的sleep()方法Top
2 楼happyboywzl()回复于 2006-03-03 22:38:28 得分 0
用线程技术就可以了Top
3 楼nlcold(夜光寒)回复于 2006-03-05 13:06:54 得分 0
有没有具体的实现实例呢?本人很菜的,望赐教。Top
4 楼f_acme(沧海一声笑)回复于 2006-03-05 17:27:01 得分 2
import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test extends JFrame
{
JLabel label;
public Test()
{
super("Time");
setSize(200,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label=new JLabel();
add(label);
new A(label).start();
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
class A extends Thread
{
JLabel label;
public A(JLabel label)
{
this.label=label;
}
public void run()
{
try {
while(true){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD hh:mm:ss");
label.setText(sdf.format(new Date()));
sleep(1000);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}Top
5 楼nlcold(夜光寒)回复于 2006-03-09 17:31:13 得分 0
多谢楼上这位兄台,按你的方法问题解决了。Top




