Como fazer funcionar um JRadioButton

Java

09/04/2009

Eu tenho um RadioGroup com 3 JRadioButtons e o meu código é o seguinte:
if (RB1.isSelected()) { System.out.println("primeiro"); }
else if (RB2.isSelected()) { System.out.ptintln("segundo"); }
else { System.out.println("terceiro"); }

Mas não está funcionando!! Por que?? Será que quando uso um RadioGroup o código muda???
Pamela Gatinho

Pamela Gatinho

Curtidas 0

Respostas

Carlos Heuberger

Carlos Heuberger

09/04/2009

O que é que não está funcionando? Essas 3 linhas que voce escreveu parecem estar corretas, assumindo que RB1 e RB2 são dois JRadioButton's (ou qualquer tipo de AbstractButton). Será que voce esqueceu de passar um ActionListener para os seus JRadioButton's? Aqui tem um [url=http://java.sun.com/docs/books/tutorial/uiswing/components/button.html#radiobutton][u]tutorial[/u][/url] da SUN. []]]
GOSTEI 0
Bruno Carlo

Bruno Carlo

09/04/2009

Olá, blz? Por que você não usa o ButtonGroup, ao inves de de RadioGroup? Eu fiz uma codigo aqui rapidim e funcionou, dá uma olhada:
        JPanel panel = new JPanel();
        ButtonGroup bg = new ButtonGroup();
        b1 = new JRadioButton("ola 1");
        bg.add(b1);
        panel.add(b1);
        b2 = new JRadioButton("ola 2");
        bg.add(b2);
        panel.add(b2);
        b3 = new JRadioButton("ola 3");
        bg.add(b3);
        panel.add(b3);

        //isso dentro de um actionListener, ou outro lugar qq
                if(b1.isSelected()){
                    System.out.println("b1");
                }else if(b2.isSelected()){
                    System.out.println("b2");
                }else{
                    System.out.println("b3");
                }
GOSTEI 0
Pamela Gatinho

Pamela Gatinho

09/04/2009

Oi, brunocarlo, Eu fiz exatamente isso, mas não sei porque não está funcionando. O que eu quero é o seguinte: eu tenho 3 RadioButtons (dentro de um RadioGroup) e um botão OK. Dependendo do RadioButton que eu selecionar eu devo mostrar uma nova janela.
if (RadioButton1.isSelected() ) {
      Tela1 t1 = new Tela1();
       t1.show();
}

else if (RadioButton2.isSelected() ) {
      Tela2 t2 = new Telas2();
      t2.show()
}

else {
      Tela3 t3 = new Tela3();
      t3.show();
}
Eu acho que está tudo certo. O caso é que não está abrindo a nova janela e eu não sei porque.
GOSTEI 0
Bruno Carlo

Bruno Carlo

09/04/2009

É, ai fica sinistro, mas posta o codigo da Tela ae pra gente dar um olhada.
GOSTEI 0
Carlos Heuberger

Carlos Heuberger

09/04/2009

[b]MAIS UM VEZ:[/b] [quote="simu"]... Será que voce esqueceu de passar um ActionListener para os seus JRadioButton's?
ONDE VOCE POS A PARTE DO CODIGO QUE POSTOU? COMO VOCE ESTA CHAMANDO ESTE CODIGO (ESTAS LINHAS)? Se não fizer algo como
radioButton1.addActionListener(...
os botões não irão ter muita funcionalidade... []]] :getout:
GOSTEI 0
Pamela Gatinho

Pamela Gatinho

09/04/2009

Não entendi...! Como eu iria "juntar" o actionListener com o RadioButton1.isSelected() ?? :cry:
GOSTEI 0
Carlos Heuberger

Carlos Heuberger

09/04/2009

leu a(s) mensagem(ens) anterior(es)?
radioButton1.addActionListener(meuActionListener);
e vale a pena dar uma olhada no tutorial da sun: [url]http://java.sun.com/docs/books/tutorial/uiswing/components/button.html#radiobutton[/url] []]]
GOSTEI 0
POSTAR