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

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)