For developers who preferred not to use ZUML at all, they can use the so-called richlet to create all components manually.
import org.zkoss.zul.*;
public class TestRichlet extends org.zkoss.zk.ui.GenericRichlet {
public void service(Page page) {
page.setTitle("Richlet Test");
final Window w = new Window("Richlet Test", "normal", false);
new Label("Hello World!").setParent(w);
final Label l = new Label();
l.setParent(w);
//...
w.setPage(page);
}
}
Refer to the Richlets section in the Advanced Features chapter.