Home   Single Page

遅延属性と onCreate イベント

zscript 内に onCreate イベントリスナーが書かれるならば、以前の 2 番目に述べた遅延オプションは意味がありません。
なぜならonCreateイベントはページがロードされれるときに送信されるからです。
つまり、次のように遅延 zscript は zscript 内に onCreate イベントリスナーが書かれていると、ページがロードされるときに評価されるということです。

<window onCreate="init()">
...

むしろ、以下のように書き直したほうがいいです。

<window use="my.MyWindow">
...

そして、以下のようにMyWindow.javaを準備します。

package my;
public class MyWindow extends Window {
    public void onCreate() { //to process the onCreate event    
...

コンポーネント(とその子コンポーネント)を作成した直後に初期化するなら、以下のように、org.zkoss.zk.ui.ext.AfterComposeインターフェースを実装します。
AfterComposeインターフェースのafterComposeメソッドはコンポーネント作成段階で評価されます。
一方、onCreateイベントはイベント処理段階で評価されます。

package my;
public class MyWindow extends Window implements org.zkoss.zk.ui.ext.AfterCompose {
    public void afterCompose() { //to initialize the window    
...