すべてのコンポーネントは複製できます。つまり、java.lang.Clonableで実装されています。このため、以下のように、コンポーネントを簡単に複製できます。
<vbox id="vb">
<listbox id="src" multiple="true" width="200px">
<listhead>
<listheader label="Population"/>
<listheader align="right" label="%"/>
</listhead>
<listitem value="A">
<listcell label="A. Graduate"/>
<listcell label="20%"/>
</listitem>
<listitem value="B">
<listcell label="B. College"/>
<listcell label="23%"/>
</listitem>
<listitem value="C">
<listcell label="C. High School"/>
<listcell label="40%"/>
</listitem>
</listbox>
<zscript>
int cnt = 0;
</zscript>
<button label="Clone">
<attribute name="onClick">
Listbox l = src.clone();
l.setId("dst" + ++cnt);
vb.insertBefore(l, self);
</attribute>
</button>
</vbox>
コンポーネントが複製されると、子コンポーネントも複製されます。
複製されたコンポーネントはどのページと親コンポーネントにも属しません。つまり、src.clone().getParent()はnullを返します。
IDは変化しません。つまり、同じIDスペースで使用するなら、IDを変えることを忘れないように。