观察者模式()
当按钮被单击时通过被观察对象通知观察者以下是AbstractButton中的一段事件处理代码显示了被观察对象如何通知观察者
protected void fireActionPerformed(ActionEvent event) {
Object[] listeners = listenerListgetListenerList()//这里就是应用层
//实现的ActionListener
ActionEvent e = null;
for (int i = listenerslength; i>=; i=) {
if (listeners[i]==ActionListenerclass) {
if (e == null) {
String actionCommand = eventgetActionCommand()
if(actionCommand == null) {
actionCommand = getActionCommand()
}
e = new ActionEvent(AbstractButtonthis
ActionEventACTION_PERFORMED
actionCommand
eventgetWhen()
eventgetModifiers()) //构造事件参数
//告诉应用层是何种事件发生
}
((ActionListener)listeners[i+])actionPerformed(e)
//回调应用层的实现
}
}
}
返回目录Java程序性能优化让你的Java程序更快更稳定
编辑推荐
Java程序设计培训视频教程
JEE高级框架实战培训视频教程
JME移动开发实战教学视频
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLEG数据库开发优化指南