Como chamar um metodo apartir de uma <h:selectBooleanCheckbox>

ola… estou com um probleminha aki …
queria ao ticar uma checkbox o meu label e um campo texto ficassem visíveis…

codigo do JSP

<tr>
  <td>
        <h:selectBooleanCheckbox id="empaneel" rendered="true" value="#{CadEmpresaBean.checkEmpAneel}" onclick="#{CadEmpresaBean.mtCheckEmpAneel}">Empresa Aneel:</h:selectBooleanCheckbox>
  </td>
  <td>
       <h:outputLabel rendered="#{CadEmpresaBean.labelCodigo}" value="Código:" /> <h:inputText id="cod" size="10" value="#  {CadEmpresaBean.camposBeanCad.codigo}" disabled="#{CadEmpresaBean.txt_codigo}" rendered="#{CadEmpresaBean.txt_codigo_visivel}"/>
  </td>
</tr>

Codigo do Bean

    public  String mtCheckEmpAneel() {

        if (checkEmpAneel == true) {
            txt_codigo_visivel = true;
            labelCodigo = true;
        } else {
            txt_codigo_visivel = false;
            labelCodigo = false;
        }

        return null;
    }

Cara, acho que o ideal é vc usar um valueChangeListener no seu selectBooleanCheckbox. Aí, dentro dele vc poder alterar a sua variavel de controle pra deixar ele renderizar os seus campos.

Ola andreban… to na faze de inicialização do java…sou meio leigo no assunto ainda…

vc teria algum exemplo de funcionamento do valueChangeListener para eu me basear?

pois oq eu tentei foi colocar a chamada do metodo dentro do valueChangeListener, mas ñ certo

assim

    <tr>
          <td>
                 <h:selectBooleanCheckbox id="empaneel" rendered="true"  value="#{CadEmpresaBean.checkEmpAneel}" valueChangeListener="#{CadEmpresaBean.mtCheckEmpAneel}" >Empresa Aneel:</h:selectBooleanCheckbox>
          </td>
          <td>
                 <h:outputLabel rendered="#{CadEmpresaBean.labelCodigo}" value="Código:" /> <h:inputText id="cod" size="10" value="#{CadEmpresaBean.camposBeanCad.codigo}" disabled="#{CadEmpresaBean.txt_codigo}" rendered="#{CadEmpresaBean.txt_codigo_visivel}"/>
          </td>
    </tr>

Tirei esse exemplo lá do Core Java Server Faces…
No JSF…

<h:selectOneMenu value="#{form.country}" onchange="submit()"immediate="true"
   valueChangeListener="#{form.countryChanged}">
   <f:selectItems value="#{form.countryNames}"/>
</h:selectOneMenu>

No bean…

public void countryChanged(ValueChangeEvent event) {
   FacesContext context = FacesContext.getCurrentInstance();
   if (US.equals((String) event.getNewValue()))
      context.getViewRoot().setLocale(Locale.US);
   else
      context.getViewRoot().setLocale(Locale.CANADA);
   context.renderResponse();
}

O immediate serve para pular as validações do formulário. o context.renderResponse() também.