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

有关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条)

报告相同问题?

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路