Deixar JTextField Enabled(false) ao selecionar JRadioButton [RESOLVIDO]

2 respostas
java
aeciocleysson

Pessoal estou com uma dúvida que ainda não consegui resolver.
eu tenho uma tela de cadastro de cliente pessoa física e jurídica, e tenho 2 JRadioButton Física e Jurídica, e preciso que quando eu selecionar o JRadioButton Jurídica o JtextFiled CPF fique Enebled(false) de forma que só o JtextFiled CNPJ possa ser preenchido. e assim da mesma forma se o Física for selecionado o campo CNPJ fique enabled(false) e so o JtextField CPF possa ser preenchido.

eu criei um objeto do tipo JRadioButton recebendo o valor do radiobutton mas não esta acionando o enabled(false), só quando eu preencho os dados e mando salvae que ele fica Enebled(false).

private void salvarClienteJuridico(Cliente_Juridico cliente) {

    JRadioButton rb = new JRadioButton();

    rb = rb_juridica;

    if (rb.isSelected()) {

        Cad_Cliente.txt_cpf.setEnabled(false);

        ClasseBLL_J bll = new ClasseBLL_J();

        cliente.setNome_cliente_J(txt_nome_cli.getText());
        cliente.setCnpj(txt_cnpj.getText());
        cliente.setTelefone(txt_tel.getText());
        cliente.setCelular(txt_cel.getText());
        cliente.setEmail(txt_email.getText());
        cliente.setEndereco(txt_end.getText());
        cliente.setNum_end(txt_num.getText());
        cliente.setBairro(txt_bairro.getText());
        cliente.setCidade(txt_cidade.getText());
        cliente.setEstado(txt_cidade.getText());
        cliente.setCategoria(cb_categoria.getSelectedItem().toString());

        if (txt_nome_cli.getText().equals("") || txt_cnpj.getText().equals("   .   .   /    -  ") || txt_cel.getText().equals("(  )      -    ")) {

            JOptionPane.showMessageDialog(null, "Os campos: Nome, CNPJ, Celular devem ser preenchidos!", "Alerta", JOptionPane.WARNING_MESSAGE);
            txt_nome_cli.setBackground(Color.cyan);
            txt_cnpj.setBackground(Color.cyan);
            txt_cel.setBackground(Color.cyan);
        } else {
            bll.cadastrarClienteJuridicoDAL(cliente);

            JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso!");

            this.limparCampo();
        }
    }
}

2 Respostas

jallisson_jallis

Esse if tem q tá dentro da action do rb e não precisar instanciar objeto do mesmo

aeciocleysson

Valeu amigo, era isso mesmo que estava precisando.

Criado 19 de agosto de 2017
Ultima resposta 19 de ago. de 2017
Respostas 2
Participantes 2