关于向AWT控件类中添加事件监听器的问题。
刚刚查看AWT控件类的API产生一个疑惑,就拿Window这个类来说吧。 它有个方法是addWindowListener(WindowListener l),这个方法是向Window类中添加一个WindowListener的事件监听器。但我在Window类的实例字段里没看到有WindowListener类型的句柄。
那问题就来了,既然在Window中没有接收监听器的句柄,那这个addWindowListener(WindowListener l)是在往哪里添加监听器啊?
----------------解决方案--------------------------------------------------------
谁说没有
你看了Window类的源码吗???
在源码第171行:
transient WindowListener windowListener;
这不是吗?
----------------解决方案--------------------------------------------------------
啊? 那为什么不在API里写出来啊? 还有这个transient是什么啊? 访问控制符?
----------------解决方案--------------------------------------------------------
它表示容易变化的,串行化保存的时候,它不会永久保存
API不写出来是因为它不是public或者protected的,它只是包内可见.所以没必要写出来
----------------解决方案--------------------------------------------------------
OK。明白了。对了,你是用什么软件看JAVA原码的啊?我以前用记事本看过,不过那代码很乱根本没法看啊。
----------------解决方案--------------------------------------------------------
记事本就可以啊
----------------解决方案--------------------------------------------------------
恩。可以的,记事本里格式很乱的,我用Word打开后就行了。
----------------解决方案--------------------------------------------------------
Window类的源码??怎么看啊,有现成的吗??还是API里面有提供啊??
----------------解决方案--------------------------------------------------------
JDK的目录下的src.zip里面就是系统类库的源码,自己慢慢看
----------------解决方案--------------------------------------------------------