事件模型

From Apache OpenOffice Wiki
Jump to: navigation, search



尽管在许多上下文中都使用事件,但事件概念是因图形用户界面 (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