<a:form> <a:growl id="growl" showDetail="true"/> <h:panelGrid id="triStateGrid" columns="2" cellpadding="5"> <h:outputText value="Basic Usage: "/> <a:triStateCheckbox value="#{triStateCheckboxView.value1}"/> <h:outputText value="Ajax Behavior: "/> <a:triStateCheckbox id="ajaxTriState" value="#{triStateCheckboxView.value2}"> <a:ajax event="change" update="growl" listener="#{triStateCheckboxView.addMessage}"/> </a:triStateCheckbox> <h:outputText value="Customs Icons: "/> <a:triStateCheckbox value="#{triStateCheckboxView.value3}" stateTwoIcon="ui-icon-plus" stateThreeIcon="ui-icon-minus"/> <h:panelGroup/> <a:triStateCheckbox value="#{triStateCheckboxView.value4}" itemLabel="Item Label"/> </h:panelGrid> <a:commandButton value="Submit" process="triStateGrid" update="display" oncomplete="PF('dlg').show()" style="margin-top:10px;"/> <a:dialog header="Selected Values" showEffect="fade" hideEffect="fade" widgetVar="dlg"> <h:panelGrid id="display" columns="1" style="margin: 10px;"> <h:outputText value="Value 1: #{triStateCheckboxView.value1}"/> <h:outputText value="Value 2: #{triStateCheckboxView.value2}"/> <h:outputText value="Value 3: #{triStateCheckboxView.value3}"/> <h:outputText value="Value 4: #{triStateCheckboxView.value4}"/> </h:panelGrid> </a:dialog> </a:form>
@ManagedBean(name = "triStateCheckboxView") @ViewScoped public class TriStateCheckboxView implements Serializable { private String value1; private String value2; private String value3; private String value4; @PostConstruct public void init() { value1 = "2"; value4 = "1"; } public String getValue1() { return value1; } public void setValue1(String value1) { this.value1 = value1; } public String getValue2() { return value2; } public void setValue2(String value2) { this.value2 = value2; } public String getValue3() { return value3; } public void setValue3(String value3) { this.value3 = value3; } public String getValue4() { return value4; } public void setValue4(String value4) { this.value4 = value4; } public void addMessage() { FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "State has been changed", "State is = " + value2); FacesContext.getCurrentInstance().addMessage(null, msg); } }