[RESOLVIDO]Problema com JOptionPane

Gente boa, estou com uma dúvida no JOptionPane.
O código seguinte pergunta se a pessoa realmente quer sair do formulário ou não.
Estou usando um InternalJFrame (se é que faz diferença e se fizer, alguém me diga, por favor!).

private void btSairActionPerformed(java.awt.event.ActionEvent evt) {                                       
        int resposta = 0;
        if (status == 0) {
            dispose(); // FECHA A TELA
        } else if (status == 1 | status == 2) {
            // JOptionPane.showConfirmDialog(null, "Gostaria mesmo de sair?");
            JOptionPane.showConfirmDialog(null, "Gostaria mesmo de sair?", "Titulo", JOptionPane.YES_NO_OPTION);
            if (resposta == JOptionPane.YES_OPTION) {
                dispose(); // FECHA A TELA
            }
        }
    }

O erro é que ele faz o dispose(); de qualquer forma, não importa se escolhe sim ou não.
Alguém pode me ajudar?

Opa, neste código ‘resposta’ é sempre igual a zero e se ‘JOptionPane.YES_OPTION’ for igual a zero o if sempre será verdadeiro.

[quote=tgcmv]Opa, neste código ‘resposta’ é sempre igual a zero e se ‘JOptionPane.YES_OPTION’ for igual a zero o if sempre será verdadeiro.
[/quote]

Realmente, amigo, eu sempre cometo os erros mais simples!
Obrigado.

[quote=brunokchimbo][quote=tgcmv]Opa, neste código ‘resposta’ é sempre igual a zero e se ‘JOptionPane.YES_OPTION’ for igual a zero o if sempre será verdadeiro.
[/quote]

Realmente, amigo, eu sempre cometo os erros mais simples!
Obrigado.[/quote]

Pra ajudar a resolver muitos desses problemas, procure sempre debugar/depurar o código. Se não souber fazer isso, recomendo procurar e respoeito e por enquanto encher o código de sysout() observando a siada no console.

Uma técnica que um professor meu faleu é a chamada técnica do boneco. Mostre seu código para qualquer coisa (gato, cachorro, pessoa, peixe, boneco, pedra kkkk) e fale como vc fez nete post.

  • Olha sr pedra, o código está assim, só que nesse if aqui ele está sempre entrando e…
  • Epa perai, onde que setei o valor de resposta?
  • Há achei um possivel causa erro, resposta está sempre igual a zero.

Bem a técnica é besta, porém o simples ato de vc falar e de tenrar esplicar o código. Ajuda a clarear suas idéias e você passa a enchergar melhor o código. :smiley: Bons estudos

[quote=tgcmv][quote=brunokchimbo][quote=tgcmv]Opa, neste código ‘resposta’ é sempre igual a zero e se ‘JOptionPane.YES_OPTION’ for igual a zero o if sempre será verdadeiro.
[/quote]

Realmente, amigo, eu sempre cometo os erros mais simples!
Obrigado.[/quote]

Pra ajudar a resolver muitos desses problemas, procure sempre debugar/depurar o código. Se não souber fazer isso, recomendo procurar e respoeito e por enquanto encher o código de sysout() observando a siada no console.

Uma técnica que um professor meu faleu é a chamada técnica do boneco. Mostre seu código para qualquer coisa (gato, cachorro, pessoa, peixe, boneco, pedra kkkk) e fale como vc fez nete post.

  • Olha sr pedra, o código está assim, só que nesse if aqui ele está sempre entrando e…
  • Epa perai, onde que setei o valor de resposta?
  • Há achei um possivel causa erro, resposta está sempre igual a zero.

Bem a técnica é besta, porém o simples ato de vc falar e de tenrar esplicar o código. Ajuda a clarear suas idéias e você passa a enchergar melhor o código. :smiley: Bons estudos[/quote]

Vou fazer isso, com certeza…
Mas se já pensam que sou maluco por estudar programação, agora mesmo é que vão ter certeza!
rsrsrsrs