yaqiukasi 2016-07-27 11:10 采纳率: 0%
浏览 1102
已采纳

有关Java定时器的问题

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
/*
*测试swing中Timer的使用,一个显示时间的GUI程序
*/
public class TimerTest extends JFrame implements ActionListener
{
//一个显示时间的JLabel
private JLabel jlTime=new JLabel();
private Timer timer;
public TimerTest()
{
setTitle("Timer测试");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(180,80);
add(jlTime);
//设置Timer定时器并启动
timer=new Timer(500,this);
timer.start();
setVisible(true);
}

public void actionPerformed(ActionEvent e)
{
    DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date=new Date();
    jlTime.setText(format.format(date));
}

public static void main(String[] args)
{
    new TimerTest();
}

}

timer=new Timer(500,this);这条语句中的this是什么意思,代表什么?

  • 写回答

4条回答 默认 最新

  • ljheee 2016-07-27 12:14
    关注

    你这是 书上看的例子吧。以后不要这么写。
    那些教材为方便,把自定义类继承JFrame又去实现了接口。这样写不好,更难理解。
    public class TimerTest extends JFrame implements ActionListener
    {

    timer=new Timer(500,this);这条语句中的this代表当前对象,也就是TimerTest 这个自定义类的当前对象,因为TimerTest 继承JFrame又去实现了接口,它即是个JFrame,他也是个事件监听类,实现接口ActionListener,重写public void actionPerformed(ActionEvent e)就可以处理某些事件响应。
    timer=new Timer(500,this);中的this就是个“任务”,具体就是执行actionPerformed()方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码