请JAVA高手帮忙注释下!!加上设计思路!!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/22 22:11:58
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.text.*;

class TestTimer extends JFrame implements ActionListener{
Timer timer;
JLabel display = new JLabel();
SimpleDateFormat dateFmt = new SimpleDateFormat("hh:mm:ss");

TestTimer(){

getContentPane().setLayout(new FlowLayout());
timer = new Timer(1000,this);
timer.setRepeats(true);
timer.setInitialDelay(1000);
timer.start();
getContentPane().add(display);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,100);
setVisible(true);

} // TestTimer

public void actionPerformed(ActionEvent e){

if(e.getSource() == timer){

display.setText(dateFmt.format(new Date()));
}

} // actionPerformed

public static void main(String[] args){

TestTimer tt = new TestTimer();

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import java.text.*;

class TestTimer extends JFrame implements ActionListener {
// 继承JFrame类--用来画框框的
// 实现ActionListener接口--事件监听

Timer timer;//声明一个Timer对象,Timer是javax.swing包中的类,计时监听器

JLabel display = new JLabel();//声明一个JLabel对象,画框框用的

SimpleDateFormat dateFmt = new SimpleDateFormat("hh:mm:ss");
//时间类,有格式化时间的作用

TestTimer() {

getContentPane().setLayout(new FlowLayout());
//getContentPane()是JFrame的方法,相当于得到JFrame的区域
//setLayout是设置布局
timer = new Timer(1000, this);
//构造Timer(int delay, ActionListener listener)
//因为这个类实现了ActionListener接口,所以监听器可以隔1000毫秒通知这个类(this),构造方法摘要
timer.setRepeats(true);
//每隔1000毫秒通知一次,如果设置成false则只会通知一次
timer.setInitialDelay(1000);
//设置初始延迟,这段可以不要,因为构造中已经设置了
timer.start();
//启动计时监听器,向外部的监