listener
クラス: handle
イベント ソースにバインドされないイベント リスナーの作成
構文
eL = listener(hSource,EventName,callback)
eL = listener(hSource,PropertyName,EventName,callback)
説明
は eL
= listener(hSource
,EventName
,callback
)EventName
という名前のイベントに関するリスナーを作成します。hSource
はイベントのソースであるハンドル オブジェクトです。callback
はイベントがトリガーされたときに MATLAB® が呼び出す関数ハンドルです。
hSource
がイベント ソース オブジェクトの配列である場合、リスナーはその配列内で削除済み状態ではないすべてのオブジェクトについて、指定されたイベントに応答します。
は、事前定義プロパティ イベントのうちいずれかのリスナーを作成します。事前定義されたプロパティ イベントは 4 種類あります。eL
= listener(hSource
,PropertyName
,EventName
,callback
)
イベント名 | イベントが発生する時点 |
---|---|
PreSet | プロパティの set アクセス メソッドを呼び出す前の、プロパティ値が設定される直前 |
PostSet | プロパティ値が設定された直後 |
PreGet | プロパティの get アクセス メソッドを呼び出す前の、プロパティ値のクエリが処理される直前 |
PostGet | プロパティ値がクエリに返された直後 |
入力引数
出力引数
例
ヒント
リスナーのライフサイクル
リスナーを削除するには、listener
により返されるリスナー オブジェクトを削除します。たとえば、次のステートメントはハンドル クラスの delete
メソッドを呼び出して、リスナーを削除します。
delete(el)
リスナー オブジェクトに対する delete の呼び出しにより、リスナーが破棄されるため、イベントが発生してもコールバック関数は実行されなくなります。
listener
メソッドは、リスナーのライフサイクルをイベントのソースであるオブジェクトにバインドしません。イベント ソース オブジェクトの破棄は、リスナー オブジェクトのライフサイクルに影響しません。
listener
メソッドを使用してソース オブジェクトから独立に作成したリスナーは、明示的に破棄しなければなりません。リスナー変数に対して handle delete メソッドを呼び出すと (delete(el)
など)、リスナーが明示的に破棄されます。リスナーを含む変数の再定義やクリアで、その他に参照がない場合はリスナーを削除できます。リスナーのライフサイクルを、イベント ソース オブジェクトのライフサイクルにバインドするには、addlistener
を使用します。
代替方法
MATLAB でリスナーのライフ サイクルを管理するには、addlistener
を使用します。
バージョン履歴
R2017b で導入