读代码遇不明白之处,盼高手指点

eduyu 2003-01-12 01:44:37
//问题是关于java的event实现机制的

public class Frame1 extends JFrame {

......

//事件源对象 直接在它的 增加监听对象的方法 内实现了 监听对象?没看明白,难道不需要重新派生一个类作为监听对象吗?
//这里的 new 操作符后边的 ActionListener()是类吗,如果是,为什么要加上 "()" 符号?
jMenuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuFileExit_actionPerformed(e); //这里是调用下面实现的该类的一个方法
}
});

......
public void jMenuFileExit_actionPerformed(ActionEvent e) {
System.exit(0);
}
......

}
...全文
50 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesmile979 2003-01-12
  • 打赏
  • 举报
回复
INNER CLASS 用起来好烦的。上面的代码看起来很不爽的说,一般要自己写个类来实现ACTIONPERFORMED的吧。个人认为不要像上面问题中那样写的好。
eduyu 2003-01-12
  • 打赏
  • 举报
回复
new 后面好像是个接口,在 java 里面,直接实例接口也可以吗?

结果肯定是一个对象,我知道这个函数的参数是一个对象。
eduyu 2003-01-12
  • 打赏
  • 举报
回复
谢谢大家

helpall(),抱歉,我没有听过匿名类,对应的英文是什么?可能各种书翻译得不一样
helpall 2003-01-12
  • 打赏
  • 举报
回复
jMenuFileExit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuFileExit_actionPerformed(e); //这里是调用下面实现的该类的一个方法
}
});
这是一个简单的匿名类写法,请查看讲匿名类方面的书.对于功能复杂一点的,最好是从ActionAdapter派生一个类或定义一个实现ActionListener接口的类.
xiazhihan 2003-01-12
  • 打赏
  • 举报
回复
匿名内部类啊
thinforg001 2003-01-12
  • 打赏
  • 举报
回复
jMenuFileExit.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuFileExit_actionPerformed(e); }
}
);

我这样修改你应该明白了吧?

实际上这代码是把新定义的 ActionListener()直接写到括号里面了。
bingdianslover 2003-01-12
  • 打赏
  • 举报
回复
ActionListener是用来干什么的?
vcshcn 2003-01-12
  • 打赏
  • 举报
回复
这样也可以,重新派生也可以
poson 2003-01-12
  • 打赏
  • 举报
回复
ActionListener 是类啊
不过我刚学,看不懂啊
jym212cn 2003-01-12
  • 打赏
  • 举报
回复
announymous class是匿名类的意思,好久没上来了
crm2000 2003-01-12
  • 打赏
  • 举报
回复
程序代码太长的话就不要这么写,短的话这样写比较好读。

62,615

社区成员

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

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