**
用计时器显示当前时间
1.创建一个窗口
2.用计时器每一秒钟跟新一下时间
下面展示一些 内联代码片
。
package study;
import javax.swing.*;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
//时间实体类继承JFrame
public class Time_Test extends JFrame {
/* * Variables */
private JPanel timePanel; //面板
private JLabel timeLabel; //标签
private JLabel displayArea; //文本域
private String DEFAULT_TIME_FORMAT = "yyyy/MM/dd HH:mm:ss";//设置时间格式
private String time; //显示时间的字符串
private int ONE_SECOND = 1000; //1000毫秒
//无参构造
public Time_Test(){
timePanel = new JPanel();//创建一个面板
timeLabel = new JLabel("当前时间: ");//创建一个标签
displayArea = new JLabel();//创建一个文本域
configTimeArea();
timePanel.add(timeLabel);//将标签添加到面板里面
timePanel.add(displayArea);//将文本域添加到面板里面
displayArea.setForeground(Color.red);//设置内容颜色为红色
displayArea.setFont(new Font("黑体", Font.PLAIN,18));//设置字体为黑体18号字体
this.add(timePanel);//将面板添加到窗体里面
this.setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗口可关闭
this.setSize(new Dimension(200,100));//设置窗口的大小
this.setLocationRelativeTo(null); //设置窗口剧中
}
//创建一个计时器
private void configTimeArea() {
Timer tmr = new Timer();
tmr.scheduleAtFixedRate(new JLabelTimerTask(),new Date(), 1000); //每一秒钟跟新一下时间
}
protected class JLabelTimerTask extends TimerTask{
@Override
public void run() {
SimpleDateFormat dateFormatter = new SimpleDateFormat(DEFAULT_TIME_FORMAT);//设置日期格式
time = dateFormatter.format(Calendar.getInstance().getTime()); //获得当前时间
displayArea.setText(time);//将当前时间设置到文本域中
}
}
//创建对象
public static void main(String arg[]) {
Time_Test timeFrame=new Time_Test();
timeFrame.setVisible(true);
}
}