Que coisa louca, mesmo colocando não, fecha a janela, o valor de não é 1 e fecha, affe
intopcao=JOptionPane.showConfirmDialog(null,"Escolha sim ou não","Sim ou não?",JOptionPane.YES_NO_OPTION);System.out.println("opcao"+opcao);if(opcao==0){setVisible(false);dispose();}
thiago.correa
o zero equivale ao yes, o 1 equivale o no e o 2 equivale ao cancel
Pedrosa
certo mas ta fechando a janela nos 2 casos e ignora meu if, tem algo relacionado com o evento?
publicvoidwindowClosing(WindowEventwindowevent){intopcao=JOptionPane.showConfirmDialog(null,"Deseja fechar e deslogar?","Sim ou não?",JOptionPane.YES_NO_OPTION);System.out.println("opcao"+opcao);if(opcao==0){Objectobj=windowevent.getSource();if(obj==Principal.this){Principal_WindowClosing(windowevent);}}}
thiago.correa
use o método consume caso a opção escolhida seja o ‘no’
keller
Pedrosa:
certo mas ta fechando a janela nos 2 casos e ignora meu if, tem algo relacionado com o evento?
gui, fiz igual ao exemplo do post indicado e esta fechando tanto no yes quanto no no, joguei no construtor conforme o exemplo:
publicPrincipal(finalTelefoniatelefonia){setTelefonia(telefonia);setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){inti=JOptionPane.showConfirmDialog(null,"Deseja fechar e deslogar?","Saída",JOptionPane.YES_NO_OPTION);if(i==JOptionPane.YES_OPTION){if(telefonia.getTerminal()!=null){if(telefonia.isStartado()){telefonia.getHangup();}}System.exit(0);}else{repaint();}}});try{initComponents();}catch(Exceptione){JOptionPane.showMessageDialog(null,"Ocorreu o seguinte erro "+e.getMessage(),"Erro",JOptionPane.ERROR_MESSAGE);}setLocationRelativeTo(null);}