Provides renderable HTML controls. Controls implement the {@link net.sf.click.Control} interface to perform server side request processing. At the top level a Pages controls are processed by the ClickServlet. Some controls can contain child controls which they will inturn process. These container controls include Form, FieldSet, Panel and Table.

Using these controls is similar to traditional Swing GUI programming. While these controls do not provide a full Swing style MVC implementation, they provided a simplified programming model and high performance.

Click Controls provide an event callback mechanism similar the java.awt.ActionListener callback.

public class MyPage extends Page {

    public ActionLink actionLink = new ActionLink();

    public MyPage() {
        actionLink.setListener(this, "onLinkClick");
    }
    
    public boolean onLinkClick() {
        System.out.println("onLinkClick invoked");
        return true;
    }
} 
All call back listener methods must return a boolean value. If they return true the the further processing of other controls and page methods should continue. Otherwise if they return false, then any further processing should be aborted. By returning false you can effectively exit at this point and redirect or forward to another page.