ユーザ定義イベント

オブジェクトに定義されているTouchイベントなどと同様に、ユーザ定義のイベントを利用することができます。

FormとDialogなどでユーザ定義イベントにより情報伝達を行うことで、FormとDialogの結合がより疎結合となり、開発効率やデバッグ効率が高まります。


以下に単純なユーザ定義イベントの発行例を示します。

この例では第2引数に false を指定しているため、イベントはイベントキューへ登録されます。

同期的に処理する場合は true を指定してください。

単純なユーザイベントの発行
function onTouch(e) {
    :
    postEvent(new Event("CodeSelect"), false);
    :
}

"CodeSelect"はイベント名となります。

上記のイベントは、次のようなイベントハンドラで捕捉できます。

function onCodeSelect(e) {
    :
}

イベントに付随するデータを定義する場合、以下のようにします。

データ付きユーザイベントの発行
function onTouch(e) {
    :
    var userEvent1 = new Event("CodeSelect") {
        String data1;
        String data2;
    }
    userEvent1.data1 = "abc";
    userEvent1.data2 = "123";
    postEvent(userEvent1, false);
    :
}

上記のイベントは、次のようなイベントハンドラで捕捉できます。

function onCodeSelect(e) {
    if (e.data1 == "abc") {
        :
    }
    :
}