Main Content

event.listener 类

命名空间: event

定义侦听程序对象的类

描述

event.listener 类定义侦听程序对象。侦听程序对象通过在触发事件时执行回调函数来响应特定事件。您可以使用 event.listener 类来构造侦听程序对象。此外,您还可以使用句柄 addlistenerlistener 方法创建侦听程序。

使用句柄 notify 方法触发事件。

event.listener 类是一个 handle 类。

类属性

ConstructOnLoad
true
HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

示例

eListener = event.listener(eventSource,eventName,callbackFcn) 为指定的源对象上的指定事件名称创建侦听程序,并标识回调函数的函数句柄。

如果 eventSource 是对象句柄的数组,侦听程序将响应数组中任何对象的指定事件。

输入参数

全部展开

事件源,指定为句柄对象数组或对象句柄元胞数组。当源对象由于其类不同而不能构成数组时,请使用元胞数组。所有源对象都必须定义指定的事件。

事件名称,指定为事件的字面名称。

回调函数,由函数句柄指定。有关详细信息,请参阅 Listener Callback Syntax

属性

全部展开

事件源对象,指定为此侦听程序在触发事件时所响应的对象的句柄。

属性:

GetAccess
public
SetAccess
public
GetObservable
true
SetObservable
true

数据类型: handle object | cell array

在指定的源对象上触发时侦听程序所响应的事件的名称。

属性:

GetAccess
public
SetAccess
public
GetObservable
true
SetObservable
true

数据类型: char | string

事件回调,指定为函数句柄。该函数在触发事件时执行。

属性:

GetAccess
public
SetAccess
public
GetObservable
true
SetObservable
true

数据类型: function_handle

如果 Enabled 设置为 true(默认值),则会在发生事件时执行回调。要对此侦听程序禁用回调执行,请将 Enabled 设置为 false

属性:

GetAccess
public
SetAccess
public
GetObservable
true
SetObservable
true

数据类型: logical

当值为 false(默认值)时,侦听程序不会递归执行其回调。因此,如果回调触发它自己的事件,侦听程序不会再次响应。

如果为 true,侦听程序回调可能会引发触发回调的相同事件。此模式会导致无限递归,直到 MATLAB® 递归限制最终抛出错误时无限递归才会终止。

属性:

GetAccess
public
SetAccess
public
GetObservable
true
SetObservable
true

数据类型: logical

示例

全部折叠

使用在数组 textReader 中的对象上触发的、名为 EOLCallback 的回调函数为 EOL 事件定义侦听程序。

listenerHandle = event.listener(textReader,"EOL",@EOLCallback);

详细信息

全部展开

版本历史记录

在 R2008a 中推出