主要内容

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

イベント

イベントの定義とトリガー,イベントに応答するリスナーの作成

イベントは,オブジェクトに関係する変更や動作が発生したときにブロードキャストされる通知です。リスナーは,特定のイベントが発生したときに実行する関数を定義します。クラスでは,イベントを定義およびトリガーできます。MATLAB®は,コードがオブジェクトのプロパティにアクセスしたときに,事前定義されたイベントをトリガーできます。

関数

事件 イベントの名前
通知 イベントの発生をリスナーに通知
addlistener イベントソースにバインドされたイベントリスナーの作成
侦听器 イベントソースにバインドされないイベントリスナーの作成
event.hasListener イベントのリスナーが存在するかどうかを判定

クラス

事件。EventData イベントデータの基底クラス
事件。ClassInstanceEvent InstanceCreatedイベントとInstanceDestroyedイベントのイベントデータ
event.listener リスナーオブジェクトを定義するクラス
事件。PropertyEvent プロパティイベントのデータ
event.proplistener プロパティイベントのリスナーオブジェクトの定義

トピック

イベントとリスナー

イベントとリスナーの概要

イベントとリスナーを使用して,メッセージの送信とメッセージへの応答を行います。

イベントとリスナーの概念

イベントにより,登録されているすべてのリスナーに通知がブロードキャストされ,イベント特有のデータがリスナーコールバック関数に渡されます。

イベントとリスナーの構文

これらのコード例では,イベントとリスナーを定義する方法を説明します。

イベントアクセスリスト

特定のイベントの通知を受けることができるクラスのリストを指定します。

イベントの属性

イベント属性を設定してイベントへのアクセスを制御します。

リスナーの実装

リスナーコールバックの構文

関数ハンドルを使用してリスナーコールバックを指定します。

コールバックの実行

リスナーコールバックでエラーが発生しても,他のリスナーの実行は妨げられません。ただし,リスナーの実行順序は定義されていません。

リスナーのライフサイクル

MATLABはリスナーのライフサイクルを管理します。リスナーのライフサイクルをよりうまく制御できるように、コンストラクターはaddlistenerではなく侦听器メソッドを使用してリスナーオブジェクトを作成します。

イベントにリスナーがあるかどうかの判定

特定のイベントやイベントソースに対して定義されたリスナーがあるかどうかを判定することができます。

プロパティリスナー

プロパティ値変更のリスニング

MATLABはすべてのプロパティに対して预设,PostSet, PreGet, PostGetの各イベントを定義します。

プロパティ値が変化しない場合の代入

プロパティのAbortSet属性を使用して,値が変化しないときにはプロパティイベントがトリガーされないようにします。

イベントとリスナーの例

カスタムイベントデータの定義

イベントがトリガーされる際にMATLABによってリスナーに渡されるイベントデータを再定義します。

プロパティ値の変更の観測

リスナーは事前定義されたプロパティイベントを使用してプロパティ値の変更に応答することができます。

プロパティ设置リスナーの実装

リスナーはMATLABが値を代入する前または後にプロパティ値の変更に応答することができます。

イベントとリスナーを使用するための手法

この例では,コンテキストメニューを使用してリスナーの実行を有効および無効にする方法を説明します。

リスナーの復元

プロパティリスナーをloadobjメソッドから復元することができます。