Estou precisando tratar o fechamento da tela (JDialog) pelo “X”.
Por exemplo: cadastro de cliente, a pessoa esta criando um novo cadastro, e resolve fechar a janela sem cancelar a ação do novo cadastro
estou precisando tratar essa ação para que se o cadastro estiver aberto, o usuário não poderá fechar.
estou abrindo a tela do JDialog pelo .show()
meu setDefaultCloseOperation está como Dispose();
ps: tratamento que preciso, pode ser pela verificação de um campo aberto (código), tanto quando o cadastro é aberto o campo código tambem é aberto, caso o cadastro não é iniciado o campo “código” permanece fechado
public int fechaJanela(){
if(painelCorStatus.getBackground() == Color.GREEN){
JOptionPane.showMessageDialog(null, "Cupom Fiscal Aberto");
return javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE;
}else{
return javax.swing.WindowConstants.DISPOSE_ON_CLOSE;
}
}
e chamei o metodo na propriedade(netbeans) do setDefaultCloseOperation na opção "codigo personalizado"
porem eu debuguei o processo, quando eu abro a tela "tela.show()" ele ja verifica esse metodo meu
ao inves de verificar somente quando clicar no "X" para fechar.
JoatanGuj1 like
bY-sqT:
Danillo_Moreno:
E ae???
Ao invés de chamar o dispose() no setDefaultCloseOperation(), chama um método de verificação que você vai criar...
public int fechaJanela(){
if(painelCorStatus.getBackground() == Color.GREEN){
JOptionPane.showMessageDialog(null, "Cupom Fiscal Aberto");
return javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE;
}else{
return javax.swing.WindowConstants.DISPOSE_ON_CLOSE;
}
}
e chamei o metodo na propriedade(netbeans) do setDefaultCloseOperation na opção "codigo personalizado"
porem eu debuguei o processo, quando eu abro a tela "tela.show()" ele ja verifica esse metodo meu
ao inves de verificar somente quando clicar no "X" para fechar.
tenta colar seu codigo no evento windowClosing. click com o botão direito do mouse na jFrame>Eventos> e adiciona teu codigo no evento WindowClosing.