一般都是一个组件添加一个listener(listener一般都是接口)。
然后在接口的实现中添加响应函数(比如MousePressed),一般一个事件函数都有一个参数Event,然后用这个参数得到响应的组件(比如e.getSource)
然后在接口的实现中添加响应函数(比如MousePressed),一般一个事件函数都有一个参数Event,然后用这个参数得到响应的组件(比如e.getSource)
自己的理解,不知道对不对
在一些类中有这样的方法 如protected void processEvent(AWTEvent e)实现事件的分发,回调用了listener中的响应方法,但是processEvent的方法谁来调用呢?
和window的消息机制差不多。下面介绍四种消息实现的方法:
最常用的就是利用implements interface 再来实现接口中的自己需要定义的时间方法。
但是这样有一个缺点就是要实现所有的接口方法,代码就显得有些多余;还有一种写法就是利用内部类的特点,这样可以使程序代码简洁;还有一种就是单独写一个类实现相应的事件接口方法,同样也只是前几种的变迁。最后一种是更简洁和明了的,那就是使用试配器(Adapter)
这样就只要实现自己想要的事件方法,而不要全部象实现接口方法那样。
在button.java里有这样回调接口方法的一段代码:
protected void processActionEvent(ActionEvent e) {
if (actionListener != null) {
actionListener.actionPerformed(e);
}
}
我的问题主要是:例如点一下按钮,是回调了接口方法actionPerformed,但ActionEvent对象是那里生成的?这个processActionEvent又是谁来调用?