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?
[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. 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. 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