Como fazer para o JOptionPane não fechar meu JFrame
4 respostas
waldineyrodrigues
Olá,
Tenho um formulário de cadastro, e quando clico em Salvar ele verifica se todos os campos foram preenchidos. Se algo algum campo estiver vazio ele cria a seguinte mensagem:
JOptionPane.showMessageDialog(null,"Favor preencher todos os campos antes de salvar","Erro!",JOptionPane.INFORMATION_MESSAGE);
O meu problema é que ao clicar no OK ele fecha o meu JFrame de cadastro, e isso não era pra acontecer.
Alguém sabe como eu posso resolver isso?
Passe o seu formulário de cadastro como primeiro parâmetro, no lugar de null.
Conforme diz a documentação do JOptionPane, no primeiro parâmetro deve ser passado a janela que é a o “pai” desse JOptionPane. Sem isso, o comportamento pode ficar bem estranho, especialmente se seu usuário usar o alt+tab.
waldineyrodrigues
ViniGodoy:
Passe o seu formulário de cadastro como primeiro parâmetro, no lugar de null.
Conforme diz a documentação do JOptionPane, no primeiro parâmetro deve ser passado a janela que é a o “pai” desse JOptionPane. Sem isso, o comportamento pode ficar bem estranho, especialmente se seu usuário usar o alt+tab.
Cara, fiz como você sugeriu, ficou assim
JOptionPane.showMessageDialog(FormSetor.this,"Favor preencher todos os campos antes de salvar","Erro!",JOptionPane.INFORMATION_MESSAGE);
Mas, não deu certo, continua fechando meu formulário
diego.urban
Nesse formulário, depois que você clica em salvar e o cadastro é feito com sucesso o FormSetor é fechado?
Se sim, verfique a sua lógica de salvar, pois quando você clicar no Ok ou fecha o JOptionPane ele continua a executar o código depois da sua chamada.
Provavelmente deve ta caindo no dispose() do FormSetor.
waldineyrodrigues
diego.urban:
Nesse formulário, depois que você clica em salvar e o cadastro é feito com sucesso o FormSetor é fechado?
Se sim, verfique a sua lógica de salvar, pois quando você clicar no Ok ou fecha o JOptionPane ele continua a executar o código depois da sua chamada.
Provavelmente deve ta caindo no dispose() do FormSetor.
Nossa Diego,
Era isso… Nóhhh q bobeira minha
Mas, valeu d+++ pela dica… Eu tinha esquecido o meu dispose fora da condição que salva os dados no banco. Não deu outra. Eu mesmo fiz a cagada, rsrs.