0

我正在尝试在页面上获取所有组件并设置它们的约束。所有组件都有 id 。我尝试使用 IdSpace 来获取页面上的所有 id 但如何获取 Idspace ?我用了

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

如何获得身份空间?

4

1 回答 1

2

你在哪里写的代码?

我的建议是将作曲家应用到根组件,并迭代里面的所有组件。

这是一个可运行的示例,用于迭代所有标签的所有组件和设置值。 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);
    }

}
于 2011-08-09T01:46:50.933 回答