很多人在学习java或者C#GUI编程的时候可能会有一个问题就是:如何实时显示当前的时间?其实笔者在刚开始接触这个的时候也很困惑,不知道该如何解决这个问难题。下面我就以Java为例说明一下这个问题的解决方案。经过一系列的查找资料以及阅读Java JDK1.7的API以后,笔者发现有两个包很重要,它们就是java.util.Timer和java.text.SimpleDateFormat 。
下面我就来向大家显示如何利用这两个包来实现我们前面谈到的这个需求。
private JLabel label_1; //先定义一个对象作为全局的变量
public Frame(){ //构造函数里面写清楚方法
label_1 = new JLabel("");
label_1.setFont(new Font("Consolas", Font.PLAIN, 24));
label_1.setBounds(250, 207, 265, 50);
contentPane.add(label_1); //实现这个标签控件用于显示当前时间
configTimeArea(); //实时刷新文本区域的方法
}
private void configTimeArea()
{
Timer timer = new Timer();
timer.schedule(new ShowCurrentTime(), 10,500 );
}
class ShowCurrentTime extends java.util.TimerTask
{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public void run()
{
realTime=df.format(Calendar.getInstance().getTime());
label_1.setText(realTime);
}
}
最后就在main函数里面直接调用构造函数就可以了。
别忘了加上之前说的两个包。很重要!