| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 943 人关注过本帖
标题:为什么时间不能更新?
只看楼主 加入收藏
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
 问题点数:0 回复次数:10 
为什么时间不能更新?

import javax.swing.*;
import java.util.*;
import java.awt.*;
public class Timer extends JFrame implements Runnable
{
String str=new String();
JLabel lab=new JLabel();
Date date=new Date();
Thread time;
Timer()
{
setTitle("时间");
setSize(200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pan=new JPanel();
pan.setLayout(new GridLayout());
pan.add(lab);
setContentPane(pan);
time=new Thread(this);
time.start();
}
public void run()
{
while (true) {
repaint();
try {
Thread.sleep(1000);
str=new String(date.getHours()+":"+date.getMinutes()+":"+date.getSeconds());
lab.setText(str);
}
catch (InterruptedException ex) {

}
}
}
public static void main(String[] args)
{
Timer timer=new Timer();
timer.setVisible(true);
}
}只能显示,不更新.帮帮忙

搜索更多相关主题的帖子: 时间 
2007-06-07 15:33
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
收藏
得分:0 
Date date=new Date();
这个定义放在run函数里面 你每次运行date都是初始好的放在
try { Date date=new Date();//这里

Thread.sleep(1000);
str=new String(date.getHours()+":"+date.getMinutes()+":"+date.getSeconds());
lab.setText(str);
}

2007-06-07 15:39
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
以下是引用a276202460在2007-6-7 15:39:26的发言:
Date date=new Date();
这个定义放在run函数里面 你每次运行date都是初始好的放在
try { Date date=new Date();//这里

Thread.sleep(1000);
str=new String(date.getHours()+":"+date.getMinutes()+":"+date.getSeconds());
lab.setText(str);
放在那里每次都重新定义了,而我的只是定义了一次,不能被更新.

风水鸡蛋壳,财去人安乐!----->
2007-06-07 15:44
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

Date你定义了以后就不会变的,所以你每次要取的时候,都重新生成一个

这样才能保证时间是最新的

还有,你最好不要用那种方法来取得时分秒,最好是用java.util.Calendar类


可惜不是你,陪我到最后
2007-06-07 15:53
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
Date这个类过时了是吧.但Calendar这个类我还真不知道怎么去获取时间.
先这样: Calendar time=new Calendar();
然后有什么方法呢?我在API中还真没找到. 

风水鸡蛋壳,财去人安乐!----->
2007-06-07 16:18
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

Date这个类没有过时,是你的方法过时了,getHours.....


Calendar c=Calendar.getInstance();
int hour=c.get(Calendar.HOUR_OF_DAY);
int min=c.get(Calendar.MINUTE);
int sec=c.get(Calendar.SECOND);


可惜不是你,陪我到最后
2007-06-07 16:29
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
哦,谢谢.

风水鸡蛋壳,财去人安乐!----->
2007-06-07 16:31
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
建议有个chm文档,这样有问题查下就ok了

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-06-07 16:57
heilong
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:777
专家分:0
注 册:2007-6-7
收藏
得分:0 
什么是chm文档?不懂

风水鸡蛋壳,财去人安乐!----->
2007-06-07 17:43
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
也就是API文档,有CHM格式的,有HTML格式的,
去网上下吧,


可惜不是你,陪我到最后
2007-06-08 10:55
快速回复:为什么时间不能更新?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022534 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved