Developing ZK Applications without ZUML

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.