Home   Single Page

forward 属性

window は通常いくつかのボタン、メニュー項目その他の制御項目からなっています。例えば

<window use="MyWindow">
    ...    
    <button label="OK"/>    
    <button label="Cancel"/>    
</window>

ユーザーがボタンをクリックすると、onClick イベントがボタンそのものに送信されます。しかしイベントはこれらのボタンに散乱するよりも window 内で処理する方が良い。そうするために以下のように forward 属性を使用します。

<window use="MyWindow">
    ...    
    <button label="OK" forward="onOK"/>    
    <button label="Cancel" forward="onCancel"/>    
</window>

ここで OK ボタンのforward 属性は onClick イベントが受信されるとスペースオーナー(すなわち window)に onOK イベントとして転送されるべきことを指定します。同じようにCancel ボタンを対象にしている onClick イベントは onCancel イベントとして転送されます。このように、スペースオーナーである MyWindow 内で以下のように onOK、onCancel イベントを操作できます。

public class MyWindow extends Window {
    public void onOK() {    
        //called when the OK button is clicked (or the ENTER button is pressed)        
    }    
    public void onCancel() {    
        //called when the Cancel button is clicked (or the ESC button is pressed)        
    }    
}

onClick イベントをスペースオーナーに転送することに加えて、forward 属性を使用してどんなイベントもどのコンポーネントにも転送できます。詳細については ZK ユーザーインターフェースマークアップ言語章の forward 節を参照してください。