Tabbox Renderer"
From Documentation
m ((via JWB)) |
m (remove empty version history (via JWB)) |
||
Line 25: | Line 25: | ||
</blockquote> | </blockquote> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{ZKDevelopersReferencePageFooter}} | {{ZKDevelopersReferencePageFooter}} |
Latest revision as of 04:38, 5 February 2024
- Available for ZK:
Since 7.0.0 Here we describe how to implement a custom renderer for a tabbox (TabboxRenderer). For the concepts about component, model and renderer, please refer to the Model-driven Display section.
When a tabbox (Tabbox) is assigned with a model, a default renderer is assigned too. The default renderer will assume that each tab has only one tabpanel, and it converts the data into a string directly[1]. If you want to display a rich tabpanel or retrieve a particular field of the data, you have to implement TabboxRenderer to handle the rendering.
For example,
public class MyRenderer implements TabboxRenderer{
public void renderTab(Tab tab, Object data, int index) {
tab.setLabel("New -- " + data);
}
public void renderTabpanel(Tabpanel tabpanel, Object data, int index) {
tabpanel.appendChild(new Label("New -- " + data));
}
}
- ↑ If the tabbox is assigned a template called
model:tab
andmodel:tabpanel
, then the template will be used to render the tabbox. For more information, please refer to the Tabbox Template section.