事件模型

From Apache OpenOffice Wiki
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.



尽管在许多上下文中都使用事件,但事件概念是因图形用户界面 (GUI) 模型为大家所熟知的。事件的用途是通知应用程序所使用的组件中发生的更改。例如,在 GUI 环境中,事件可以是单击某个按钮。您的应用程序可能被注册到此按钮,因此,单击此按钮时会执行具体代码。


OpenOffice.org 事件模型与 JavaBeans 事件模型类似。例如,OpenOffice.org 中的事件可以是创建或启动文档,也可以是更改视图内的当前选择。对这些事件感兴趣的应用程序可以注册事件发生时调用的处理程 序(侦听器接口)。这些侦听器通常在事件发生的对象容器中注册,或者注册到对象本身。这些侦 听器接口以 X...Listener 形式命名。

侦听器接口


事件侦听器是亲自接收一个事件的 com.sun.star.lang.XEventListener 的子类,此事件是删除侦听器注册的对象。发生此事件时,侦听器必须从对象取消注册,否则侦听器会保持其接口引用计数器。


Documentation caution.png 重要!实现方法 disposing() 可以取消注册所侦听的对象,并释放对该对象的所有其他引用。


许多事件侦听器可以处理多个事件。如果事件为普通事件,通常使用单个回调方法。否则,使用多个回调方法。这些方法的调用至少带有一个参数:com.sun.star.lang.EventObject。此参数指定事件源。这样,将单个事件侦听器注册到多个对象时,仍然可以知道事件来源。高级侦听器可能获得此事件描述符结构的扩展版本。


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages