[Resolvido] Como resolver esse problema?(jRadioButton)

Galera, estou criando um Questionário em desk no netbeans é o seguinte:

1- Jlabel onde carrego as perguntas vindas do bando de dados
4- JRadioButtons onde carrego as alternativas vindas do bando de dados

Ai tenho 2 botões Next e Back, onde o usuário pode visualizar até a questão 10 e voltar até a 1° se ele quiser.

O problema é que, caso o usuário responda todas as questões, mais queira voltar para se certificar que está corretas as opções não ficam marcadas. ( è possivel isso, já que limpo essa seleção a cada pergunta?)

O ideal seria, se eu respondi todas as questões e tenho que voltar, cada vez que desse um back, ele selecionava a alternativa que o usuário escolheu. para que ele não precise escolher tudo de novo.

Segue um pedaço do código: ( Se precisarem das classes só me avisar)

[code] private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    Respostas resp = new Respostas();
   if(contador ==1){
   if(jRadioButton1.isSelected())
     resp.setQuest1(this.jRadioButton1.getText());
   if(jRadioButton2.isSelected())
   resp.setQuest1(this.jRadioButton2.getText());
   if(jRadioButton3.isSelected())
   resp.setQuest1(this.jRadioButton3.getText());
   if(jRadioButton4.isSelected())
   resp.setQuest1(this.jRadioButton4.getText());
   //aqui insere no banco a resposta.       
   insereNobanco(resp.getQuest1());
   }
    if(contador ==2){
   if(jRadioButton1.isSelected())
     resp.setQuest2(this.jRadioButton1.getText());
   if(jRadioButton2.isSelected())
   resp.setQuest2(this.jRadioButton2.getText());
   if(jRadioButton3.isSelected())
   resp.setQuest2(this.jRadioButton3.getText());
   if(jRadioButton4.isSelected())
   resp.setQuest2(this.jRadioButton4.getText());
   //aqui insere no banco a resposta.       
   insereNobanco(resp.getQuest2());
    }

     if(contador ==3){
   if(jRadioButton1.isSelected())
     resp.setQuest3(this.jRadioButton1.getText());
   if(jRadioButton2.isSelected())
   resp.setQuest3(this.jRadioButton2.getText());
   if(jRadioButton3.isSelected())
   resp.setQuest3(this.jRadioButton3.getText());
   if(jRadioButton4.isSelected())
   resp.setQuest3(this.jRadioButton4.getText());
   //aqui insere no banco a resposta.
   insereNobanco(resp.getQuest3());
    }

    // Aqui da um limpas a opções dos radioButtons
    limpaOpcao();

        
   // TODO add your handling code here:
}                                        

[/code]

Por que não cria um Bean e cria nele variáveis que representem as questões e, cujo valor seja o do radiobutton selecionado, algo como

//codigo aqui
String perg4 = "radio2";
//codigo aqui

@drsmachado ,
Não entendi direito pode me explicar com mais detalhes?

Quando uma opção for selecionada e o next for clicado, guarde alguma informação que permita identificar que para aquela questão o determinado jradio foi selecionado.
Pode ser por map, onde a key é a questão e o valor, a identificação do radiobutton selecionado. Assim, independente de ir e voltar, sempre haverá a marcação selecionada (se houver).

Blz, acho que deu 60%…rs

criei 2 variáveis para cara pergunta, uma registra o conteudo do Radio e o outro registra o nome do Radio selecionado.

private String resp1 = null; private String resp2 = null; private String resp3 = null; private String jRadioResp1 = null; private String jRadioResp2 = null; private String jRadioResp3 = null;

[code]private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    if (contador == 1) {
        if (jRadioButton1.isSelected()) {
            resp1 = jRadioButton1.getText();
            jRadioResp1 = jRadioButton1.getName();
        }

        if (jRadioButton2.isSelected()) {
            resp1 = jRadioButton2.getText();
            jRadioResp1 = jRadioButton2.getName();
        }

        if (jRadioButton3.isSelected()) {
            resp1 = jRadioButton3.getText();
            jRadioResp1 = jRadioButton3.getName();
        }

    }
    if (contador == 2) {
        if (jRadioButton1.isSelected()) {
            resp2 = jRadioButton1.getText();
             jRadioResp2 = jRadioButton1.getName();
        }


        if (jRadioButton2.isSelected()) {
            resp2 = jRadioButton2.getText();
             jRadioResp2 = jRadioButton2.getName();
        }

        if (jRadioButton3.isSelected()) {
            resp2 = jRadioButton3.getText();
             jRadioResp2 = jRadioButton3.getName();

        }
    }
        if (contador == 3) {
            if (jRadioButton1.isSelected()) {
                resp3 = jRadioButton1.getText();
                 jRadioResp3 = jRadioButton1.getName();
            }
            if (jRadioButton2.isSelected()) {
                resp3 = jRadioButton2.getText();
                 jRadioResp3 = jRadioButton2.getName();

            }
            if (jRadioButton3.isSelected()) {
                resp3 = jRadioButton3.getText();
                 jRadioResp3 = jRadioButton3.getName();

            }
        }[/code]

Só que e agora? como seria o método que verificar qual radio foi selecionado e o selecione novamente quando der um back coisa do tipo.

[code]public void buscaResp(){
if(contador == 1){
//aqui contém o nome da Radio selecionado na pergunta1 ex:jRadioButton1.
jRadioResp1
}
if(contador == 2){

jRadioResp2

}
if(contador == 3){

jRadioResp3

}[/code]

Por isso sugeri o Map<String, String>…
Você terá que verificar em que tela está (resp) e, então, verificar qual o conteúdo da variável correspondente if(resp2.equals(radio3)){ radio3.setSelected(true); }

@drsmachado

Vou precisar ler um pouco sobre Map não faço a minima idéia de como fazer ou de como funciona.

Mesmo assim Vlw.

Basicamente

Map<String, String> mapa = new HashMap<String, String>();

if(radio3.isSelected()){
 mapa.put("perg2", radio3.getText());
}

//lógica

if(mapa.containsKey("perg2")){
 if(mapa.get("perg2").toString().equals(radio3.getText()){
 radio3.setSelected(true);
}
}

É isso…

Puts SInistro!..

Valew funcionou certinho.