在学习java的时候 在看到awt一章的时候 遇到了一个问题。 button可以添加 ActionListener ,然后实现 actionPerformed(ActionEvent e) 方法
TextField 也可以添加这个监听器 然后实现这个方法 我想问一下他们出发这个事件的条件是什么?
button是你在button上按下键的时候 而TextField 确实你输入回车的时候 为什么是这样啊?那别的控件对象又是什么呢?
TextField 也可以添加这个监听器 然后实现这个方法 我想问一下他们出发这个事件的条件是什么?
button是你在button上按下键的时候 而TextField 确实你输入回车的时候 为什么是这样啊?那别的控件对象又是什么呢?
这是常识
至于其它的,你可以去查看api帮助
为什么这样?这是jvm设计时候硬性规定的你也可以自己设计个jvm,你想让你的控件什么时候执行事件就什么时候
就拿按钮来说吧!按钮就是事件源,而ActionEvent这个类所包装的就是这个事件源的具体事件(打个比方说:就像某个地方发生了车交通事故,对这个交通事事故信息进行记录)的一个类,实现了ActionListener的这个接口就是事件监听类(就好比是交警,事故发生后马上就会通知交警,让交警来处理),其实调用特定类的特定方法,其背后用到了多态的原理,一个事件源触发一个事件时,该组件就会去调用ActionListener 这个接口的actionPerformed这个方法,而你的监听类又实现了这个接口,也就是说监听类的对象就是ActionListener的一个子类,你把子类传给button这个类的addActionListener()方法,那么button就会根据对象来调用方法,从而用户编写的actionPerformed()得到调用。这也是一个Observer的设计模式。