Archive for September 26th, 2006

Habilitando e Desabilitando Controles

Imagine que você quer habilitar ou desabilitar controles ou botões de acordo com algumas situações da sua interface gráfica. Em nosso exemplo, queremos habilitar o botão salvar, apenas quando a pessoa preencher ao menos o nome do Filme. Para isso então vamos adicionar um método chamado “reset”, que fará a limpeza e atribuição inicial de nossos atributos do form. Veja o código deste método no FilmeForm.java:

public void reset() {
setNome(”");
setSinopse(”");
setComentarios(”");
}

Vamos agora adicionar um método chamado isValidFields() , que retornar um boolean, e podemos escrever alguma regra para informar quando é válido ou não.

public boolean isValidFields() {
return (getNome().length()>0) ;
}


Agora veja a anotação abaixo da de @Action que vamos fazer em nosso método salvar da classe FilmeForm.java:

@EnabledWhen(”form.validFields”)

Usamos as regras de Introspecção do próprio Java. Assim como métodos gets e sets são usados para descobrir que há um atributo com o nome do método tirando o texto get ou set, o is serve também para descobrirmos atributos booleanos. No caso chamamos o método de validação de forma validFields entre as aspas do script da anotação EnableWhen, e internamente o método isValidFields será chamado. Veja exemplo completo:

@Action
@EnabledWhen(”form.validFields”)
public void salvar() {
System.out.println(”Binder pra o objeto filme ” +
this.toString() + “\n Realizado com sucesso!”);
}

Edgar