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
Ao invés de chamar o dispose() no setDefaultCloseOperation(), chama um método de verificação que você vai criar…
Por exemplo, verificaFechamento();
[code]
if(pode fechar sem problemas)
dispose();
else
faz o tratamento necessário
[/code][/quote]
Danillo,
criei este metodo:
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.
Ao invés de chamar o dispose() no setDefaultCloseOperation(), chama um método de verificação que você vai criar…
Por exemplo, verificaFechamento();
[code]
if(pode fechar sem problemas)
dispose();
else
faz o tratamento necessário
[/code][/quote]
Danillo,
criei este metodo:
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.[/quote]
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.