1.显示的时间time为字符串形式,格式化为"hh:mm:ss";
SimpleDateFormat format=new SimpleDateFormate("hh:mm:ss");
String time=format.format(Calendar.getInstance().getTime
());
2.要将时间time添加到JLabel中(label.setText(time));
3.这个time还是静态的,要显示动态的,要利用一个工具,Timer
(Java.util.Timer),设置好任务,什么时候开始执行,多久执行一次。
Timer timer=new Timer();
timer.timer.schedule(new timeTask(), new Date(), ONE_SECOND);
timeTask即创建的一个任务类(TimerTask),重写run方法,让任务动
起来。
class timeTask extends TimerTask{
@Override
public void run() {
SimpleDateFormat
dateFormat=new SimpleDateFormat("hh:mm:ss");
time=dateFormat.format
(Calendar.getInstance().getTime());
displayArea.setText(time);
}
}
5.利用Javax.swing设计界面,动态显示时间就OK了。
总代码:
package time;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Time extends JFrame{
private JLabel timeLabel,displayArea;
private JPanel timePanel;
private String DEFAULT_TIME_FORMAT="HH:mm:ss";
private String time;
private int ONE_SECOND=1000;
class timeTask extends TimerTask{
@Override
public void run() {
SimpleDateFormat dateFormat=new SimpleDateFormat(DEFAULT_TIME_FORMAT);
time=dateFormat.format(Calendar.getInstance().getTime());
displayArea.setText(time);
}
}
public Time(){
timePanel=new JPanel();
timeLabel=new JLabel("CurrentTime: ");
displayArea=new JLabel("");
this.add(timePanel);
timePanel.add(timeLabel);
timePanel.add(displayArea);
addTime_toDisplayArea();
showMe();
}
public void showMe(){
this.setVisible(true);
this.setSize(300,100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void addTime_toDisplayArea(){
Timer timer=new Timer();
timer.schedule(new timeTask(), new Date(), ONE_SECOND);
}
public static void main(String [] args){
new Time();
}
}