Java计时器问题 现在程序是从系统当前时间开始计时 我想修改为从00:00:00开始计时 怎么弄呀?(其它不变)

现在程序是从系统当前时间开始计时我想修改为从00:00:00开始计时就是初始时间为这个0时0分0秒修改后还要一秒一秒地计时谢谢了!代码:importjava.awt.*;... 现在程序是从系统当前时间开始计时 我想修改为从00:00:00开始计时 就是初始时间为这个 0时0分0秒 修改后还要 一秒一秒地计时
谢谢了!

代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;
public class Time
{ public static void main(String args[])
{ TimeWin Win=new TimeWin();
}
}
class TimeWin extends Frame implements ActionListener
{ TextField text;
Button bStart,bStop,bContinue;
Timer time;
int n=0,start=1;
TimeWin()
{time=new Timer(1000,this);//TimeWin对象做计时器的监视器。
text=new TextField(10);
bStart=new Button("开始计时");
bStop=new Button("暂停计时");
bContinue=new Button("继续计时");
bStart.addActionListener(this);
bStop.addActionListener(this);
bContinue.addActionListener(this);
setLayout(new FlowLayout());
add(bStart);
add(bStop);
add(bContinue);
add(text);
setSize(500,100);
validate();
setVisible(true);
addWindowListener(new WindowAdapter()
{ public void windowClosing(WindowEvent e)
{ System.exit(0);
}
} );
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==time)
{ java.util.Date date=new java.util.Date();
String str=date.toString().substring(11,19);
text.setText("时间:"+str);
}
else if(e.getSource()==bStart)
{ time.start();
}
else if(e.getSource()==bStop)
{ time.stop();
}
else if(e.getSource()==bContinue)
{ time.restart();
}
}
}
展开
 我来答
踏雪无痕2018
2011-04-07 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:95.4万
展开全部
我swing差不多都忘了,你的00控制用DecimalFormat这个类,可以参考JDK中文帮助文档关于它的方法;
DecimalFormat format = new DecimalFormat("00");
String abc ="1";
String a = format.format(abc).toString();
System.out.println(a);

不用GUI的思路:
实例化一个DecimalFormat的对象f,定义小时分秒为三个字符串变量;
从秒开始,用for循环,循环体是{秒++;if(秒==60){分+=1;秒=0}if(分==60){小时+=1;分=0}if(小时==24){小时=0},System.out.print(f.format(小时) + “:”+f.format(分) “:”+f.format (秒));System.out.print("\r");这个\r是光标移动到小时第一个数字前面,以至于时间循环覆盖造成原位置变化的效果。Thread.Sleep(1000);这个是1秒间隔的设置注意导入Thread类}

这个思路已经完成了代码的90%了,剩下的是你自己根据这个思路边查看JDK边写程序,如果直接给你代码会害了你。用GUI效果就是把System.out.print改成类似text.setText();
datiewangzi
2011-04-07 · 超过18用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:52.2万
展开全部
给你个思路,你把系统时间每一秒获取一次,然后和前一次想减,再不断刷新时间。
还可以另一种思想,开始计时加一,暂停加0,继续又加一,关键是思想。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z715213471
2011-04-08
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
看看···
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式