2011-07-20 12 views
0

私はページ上のすべてのコンポーネントを取得し、それらの制約を設定しようとしています。すべてのコンポーネントにidがあります.Idspaceを使用してページ上のすべてのIDを取得しようとしますが、Idspaceを取得する方法は?私は使用しましたZKページ上のすべてのコンポーネントを取得する方法は?

Window main ; 
Page page ; 
page = main.getPage(); // This is null 

IdSpaceの入手方法は?

答えて

2

どこにコードを書きましたか?

私は、コンポーザをルートコンポーネントの に適用して、すべてのコンポーネントを繰り返し処理することをお勧めします。

すべてのラベルのすべてのコンポーネントとsetvalueを反復するための実行可能なサンプルです。 http://zkfiddle.org/sample/36t45ag/1-Iterate-all-the-components

コードはこちらです。

<window border="normal" title="hello" apply="pkg$.TestComposer"> 
    <label ></label> 
    <vlayout> 
      <label ></label> 
      <label ></label> 
      <label ></label> 
      <div> 
       <label ></label> 
       <label ></label>          
      </div>        
    </vlayout> 
</window> 

public void doAfterCompose(Component comp) throws Exception { 
    super.doAfterCompose(comp); 
    iterate(comp); 
} 

public void iterate(Component comp){ 

    /* 
    * do something for the component 
    */ 

    if(comp instanceof Label){ 
     ((Label)comp).setValue("Found label!"); 
    } 


    List<Component> list = comp.getChildren(); 
    for(Component child:list){ 
     iterate(child); 
    } 

} 
関連する問題