我正在尝试获取页面上的所有组件并设置它们的约束。所有组件都有id。我尝试使用IdSpace来获取页面上的所有ID但是如何获取Idspace?我用了
Window main ;
Page page ;
page = main.getPage(); // This is null
如何获得IdSpace?
答案 0 :(得分: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);
}
}