Radio button Genises

Ai pessoal como faço um radio button, desabilite um JtextField , com swing é mole, mas com SWING utilizando o genises???

Olá Álvaro,

Desculpe pela demora em responder. O primeiro passo é você entender que no genesis você habilita/desabilita o componente que representa uma propriedade a partir de outra propriedade. Então, sua regra funcionará em cima das propriedades do seu bean e não em cima da view.

Por exemplo, vamos analisar um exemplo da própria documentação do genesis:

@Form
public class ExemploEnabledWhenForm {
   private boolean casado;
   private String nomeConjuge;

   public boolean isCasado() {
      return casado;
   }

   public void setCasado(boolean casado) {
      this.casado = casado;
   }

   @EnabledWhen("form.casado")
   public String getNomeConjuge() {
      return nomeConjuge;
   }

   public void setNomeConjuge(String nomeConjuge) {
      this.nomeConjuge = nomeConjuge;
   }
}

No código acima, a propriedade nomeConjuge será editável apenas quando a propriedade casado for true. Do ponto de vista do form, é isso que precisamos. Agora, vamos para a parte da view: suponhamos que tivéssemos dois radio buttons representando as opções Sim e Não para essa propriedade:

JPanel painelCasado = // ... JPanel criado e configurado em algum outro lugar
ButtonGroup casado = new ButtonGroup();

JRadioButton casadoSim = new JRadioButton();
casadoSim.setText("Sim");
casadoSim.setName("true");
painelCasado.add(casadoSim);
casado.add(casadoSim);
      
JRadioButton casadoNao = new JRadioButton();
casadoNao.setText("Não");
casadoNao.setName("false");
painelCasado.add(casadoNao);
casado.add(casadoNao);

A única coisa que fizemos de especial acima - o resto é requerido naturalmente pelo Swing - foi definir o name de cada JRadioButton com o valor que queremos que represente. Por fim, devemos registrar no SwingBinder que temos esse ButtonGroup:

SwingBinder binder = new SwingBinder(this, new ExemploEnabledWhenForm());
binder.registerButtonGroup("casado", casado);
binder.bind();

Caso tenha alguma outra dúvida, recomendo que utilize a lista de usuários do genesis em português onde mais pessoas serão capazes de responder sua pergunta.