易截截图软件、单文件、免安装、纯绿色、仅160KB

java问题


这是抽出的两段语句 我不明白为什么建了a的实例后 并没有给windowClosing(WindowEvent e)传入对象
也没有调用显式的windowClosing() 为什么能执行哪
他是怎么出入的那  能不能详细的讲一下


f.addWindowListener(new a());

class a implements WindowListener
{
public void windowClosing(WindowEvent e) {


e.getWindow().setVisible(false);
e.getWindow().dispose();
System.exit(0);

}
}
class a implements WindowListener

a类实现了WindowListener 接口


建议去看下接口方面的知识

在触发关闭事件时,会自发的去调用windowClosing方法,也会自发去寻找事件源对象(WindowEvent)。
这些都是底层写好了的,事件本身是一种函数指针(委托),底层调用的你看不见。

路过学习。。。

参考下:
http://topic.csdn.net/u/20091127/15/4eb1ed00-f2d3-4701-9597-e2bddb527fce.html

2楼的回答


底层的实现是相似的

喔这样呀
这种面向对象的思想对初学者不太好呀 很多都是莫名其妙的就运行了 要背的太多
各种编好的类


addWindowListener

windowClosing这个方法是事件(event)驱动的。
addWindowListener这个方法是绑定一个监听器。
组合起来,就是说,让a来监听你的窗口事件。所以窗口关闭的event发送给了a的windowClosing。然后就执行了。


相关问答:

Java RandomAccessFile 写入txt文件 - Java / Java SE

用RandomAccessFile写入TXT文件查看时是乱码,请问有什么方法可以写成可读的文件,不是用其他的文件操作,就是只用RandomAccessFile的方法是否可以实现?
Java code:
import java.io.*;
public class RandomAcce ......

怎么用Java实现定时执行某程序 - Java / Java SE

我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间 ......

java日期处理 - Java / Java SE

当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910

取得天数后作一下判断再把这个方法用下void set(int field, int value)  
......

C/S项目架构设计----求助 - Java / Java SE

本人正在用Java做一个C/S架构的项目, 
可是由于项目比较大,前期对架构的设计尤其重要,因为后期可能随时会加个功能或者去掉某些功能。 
所以特地寻求如何设计C/S的架构使程序更加面向对象更加易于维 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号