Como identificar qual JRadioButton está marcado

No meu aplicativo eu tenho 3 JRadioButtton, radio1, radio2, radio3.

Uso um JButton (b1) que ao ser clicado vai calcular uma fórmula matemática, mas essa fórmula é diferente se radio1 está marcado, ou se radio2 está marcado, ou se radio3 é o que está marcado.

Eu preciso usar no clique do JButton (b1), ou seja, no método actionPerformed() uma maneira de identificar qual dos 3 JRadioButton está marcado. Parece que existe um método que faz isso, acho que é o método setSelected(Boolean). Então eu tenho que fazer um if dentro do actionPerformed() que identifique se o botão que está marcado é o radio2.

Alguém sabe fazer esse código, só o if que identifica se um JRadioButton está selecionado? Eu agradeço a ajuda.

Luca

Vc poderia utlizar a interface ItemListener


class JRadioButtonTest implements ItemListener 
{

private JRadioButton rb1 , rb2;

JRadioButtonTest()
{
rb1 = new JRadioButton();
rb2 = new JRadioButton();

rb1.addItemListener(this);
rb2.addItemListener(this);
}

public void itemStateChanged(ItemEvent ie)
{
        if (ie.getSource() == rb1)
           //comando
       if (ie.getSource() == rb2)
         //comando 
}
}

Ao ramilai12,

Cara, muito obrigado por essa sua ajuda, vou tentar fazer no meu aplicativo, com certeza vai dar certo. Valeu, amigo.

Luca

[quote=ramilani12]Vc poderia utlizar a interface ItemListener

[code]

class JRadioButtonTest implements ItemListener
{

private JRadioButton rb1 , rb2;

JRadioButtonTest()
{
rb1 = new JRadioButton();
rb2 = new JRadioButton();

rb1.addItemListener(this);
rb2.addItemListener(this);
}

public void itemStateChanged(ItemEvent ie)
{
if (ie.getSource() == rb1)
//comando
if (ie.getSource() == rb2)
//comando
}
}

[/code][/quote]

Acontece que eu fiz assim:

public void itemStateChanged(ItemEvent e) { if (e.getSource() == rCriaSim) System.out.println("Sim"); }

e toda vez que clico em qualquer radioButton, vai apresentar a saida “Sim”, sendo que foi
implementado apenas para o botao sim.
Eu utilizei “{ }” mas mesmo assim.

Daí pensei.

Cheguei a uma solução. Utilizei um isSelected() e pronto :smiley:

public void itemStateChanged(ItemEvent e) { if (rCriaSim.isSelected()) System.out.println("Sim"); }

Assim, apenas quando eu clicar no botão “Sim” é que será apresentada uma resposta.

Olá Pessoal,
Sou novato em java e estou tentando fazer o seguinte em minha app: ela é uma app comericial e o que estou
tentando fazer é o seguinte o sistema ira fazer o cadastro de pessoa fisica e juridica. intaum na hora que eu seleciono o tipo de pessoa fisica gostaria que aparecesse a label CPF e um formattedtextfiel e caso fosse
juridico aparecesse a label CNPJ e um formattedtextfield.

como fazer isso??