Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

event.listener クラス

パッケージ: event

リスナー オブジェクトを定義するクラス

説明

event.listener クラスは、リスナー オブジェクトを定義します。リスナー オブジェクトは、イベントがトリガーされたときに、コールバック関数を実行することによって特定のイベントに応答します。event.listener クラスを使用してリスナー オブジェクトを作成できます。また、ハンドルの addlistener メソッドと listener メソッドを使用してリスナーを作成できます。

ハンドルの notify メソッドを使用してイベントをトリガーします。

event.listener クラスは handle クラスです。

クラスの属性

ConstructOnLoad
true
HandleCompatible
true

クラス属性の詳細については、クラスの属性を参照してください。

作成

説明

eListener = event.listener(eventSource,eventName,callbackFcn) は、指定されたソース オブジェクトの指定されたイベント名に関するリスナーを作成し、コールバック関数への関数ハンドルを識別します。

eventSource がオブジェクト ハンドルの配列である場合、リスナーは配列内にあるすべてのオブジェクトについて、指定された名前をもつイベントに応答します。

入力引数

すべて展開する

イベント ソース。ハンドル オブジェクト配列、またはハンドル オブジェクトの cell 配列として指定します。クラスが異なるためにソース オブジェクトの配列を作成できない場合は、cell 配列を使用します。すべてのソース オブジェクトが、指定されるイベントを定義しなければなりません。

イベント名。イベントのリテラル名として指定します。

コールバック関数。関数ハンドルとして指定します。詳細については、リスナー コールバックの構文を参照してください。

プロパティ

すべて展開する

イベント ソース オブジェクト。イベントがトリガーされたときにこのリスナーが応答するオブジェクトのハンドルとして指定します。

属性:

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

Enabledtrue (既定) に設定されている場合、イベントが発生するとコールバックが実行されます。このリスナーのコールバックの実行を無効にするには、Enabledfalse に設定します。

属性:

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 で導入