ActionListener问题

blq_01 2006-07-02 11:29:11
public class FrameTest extends Frame implements ActionListener
{
public static void mian(String args[])
{
FrameTest test =new FrameTest();
Button btTest=new Button();
btTest.addActionListener(this);
}
}


请教addActionListener的参数应该是ActionListener,这里的this是指的谁,在别人的代码里也有这样写的

btTest.addActionListener(new ActionListener);
这两行代码有什么区别吗?
...全文
475 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
leeqj128 2006-07-03
  • 打赏
  • 举报
回复
FrameTest

代码稍显简洁
believefym 2006-07-03
  • 打赏
  • 举报
回复
楼上的是不是太严谨了,楼主只是拿代码说明一下问题,我想知道的人都明白
楼主的代码明显临时写写想说明一下问题的,楼上所说的少括号,少实现方法,都没错,那还有main方法的main都写错了的,明白就可以了,
不过对于一个写代码的人看着一些垃圾代码确实会难受~~
chuanyi 2006-07-03
  • 打赏
  • 举报
回复
第一,这样的代码很烂,如果我是测试人员,一定让这个代码重写
第二,实现了ACTION接口,却没有实现方法,这个类毫无意义
第三,this就是指本类,即FrameTest,由于实现了action,所以可以转型,放到addaction中
第四,btTest.addActionListener(new ActionListener),少了括号,也少了实现方法,无法编译通过
第五,重申一遍,我真的很想把写这段代码的人踩死!!!!!!!
blq_01 2006-07-02
  • 打赏
  • 举报
回复
两种写法有什么区别吗?
believefym 2006-07-02
  • 打赏
  • 举报
回复
this 就是这个类FrameTest,而FrameTest实现了ActionListener接口,所以this就是一个ActionListener
terry6394 2006-07-02
  • 打赏
  • 举报
回复
addActionListener()方法,需要一个实现了 ActionListener 接口的对象,this表示FrameTest 本身,而FrameTest 又实现了ActionListener接口,所以就可以btTest.addActionListener(this);
jobs002 2006-07-02
  • 打赏
  • 举报
回复
没有区别都要实现actionPerformed()方法
yitianyidian 2006-07-02
  • 打赏
  • 举报
回复
要求实现  ActionListener  就可以

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧