RESOLVIDO - Lógica entre radio

9 respostas
G

Bem pessoa é o seguinte tenho dois radiobutton

quando um marca outro desmarca e vice-versa estou fazendo no evento focuslost mas creio que o evento mouseclicked seja equivalente ao onclick do delphi
private void radioButtonAnalítico_focusLost(FocusEvent e) 
    {
        if (radioButtonAnalítico.setSelected(true))
          {
            radioButtonSintético.setSelected(false);  
          }
        
        if (radioButtonAnalítico.setSelected(false))
          {
            radioButtonSintético.setSelected(true);  
          }
    }  
    
    private void radioButtonSintético_focusLost(FocusEvent e) 
    {
        if (radioButtonSintético.setSelected(true))
          {
            radioButtonAnalítico.setSelected(false);
          }
                
        if (radioButtonSintético.setSelected(false))
          {
            radioButtonAnalítico.setSelected(true);
          }     
    }

mas como faço pra pegar o valor do setSelected pra fazer a verificação de verdadeiro ou falso?

valeu

9 Respostas

robinsonbsilva

jovem,

JRadioButton.isSelected();
G

isso mesmo thanks mas deve ser feito no evento mouseclicked fuii

Marky.Vasconcelos

Cara… voce nem precisa dessa lógica toda… pra deixar selecionado apenas um.
O ButtonGroup já faz isso por voce.

JRadioButton b1 = new JRadioButton("B1"), b2 = new JRadioButton("B1");
ButtonGroup group = new ButtonGroup();
group.add(b1);
group.add(b2);

Com isso voce só vai selecionar um.

G
private void radioButtonAnalítico_mouseClicked(MouseEvent e) 
    {
        if (radioButtonAnalítico.isSelected()==true)
          {
            radioButtonSintético.setSelected(false);  
          }
        else
          {
            radioButtonSintético.setSelected(true);  
          }
    }

    private void radioButtonSintético_mouseClicked(MouseEvent e) 
    {
        if (radioButtonSintético.isSelected()==true)
          {
            radioButtonAnalítico.setSelected(false);  
          }
        else
          {
            radioButtonAnalítico.setSelected(true);  
          }
    }
Marky.Vasconcelos

Voce leu o que eu postei?

Voce NÃO precisa disso.

ButtonGroup group = new ButtonGroup();
group.add(radioButtonSintético);
group.add(radioButtonAnalítico);

Isso vai dar o efeito que voce espera.

G

tá tentei fazer ele mas pede para importar uma instância import javax.swing.ButtonGroup beleza importei mas dai ele dá um erro no add que espera um button abstrato e como solução ele me indica criar uma nova classe

Null sei, mas se você puder esclarecer agradeceria :?:

Marky.Vasconcelos

Esse radioButtonSintético e radioButtonAnalítico não é um JRadioButton? Ou só RadioButton?

E uma pergunta… voce realmente coloca acentos nos nomes dos seus objetos?

Isso só não é recomendavel como não garante que sua aplicação funcione em SO’s diferentes. Voce vai ter problemas com Encoding e etc.

G

são jradiobutton e esses acentos aqui no meu projeto eu retirei foi apenas aquela hora que pedi e dai continuei usando mas já foram tirados 8)

Marky.Vasconcelos

Qual é o erro?

Criado 5 de maio de 2009
Ultima resposta 6 de mai. de 2009
Respostas 9
Participantes 3