Captar SE um JinternalFrame for fechado e executar uma ação

Boa Tarde a Todos,

Estou criando uma aplicação Java SE onde possuo uma tela principal que concentra menus, etc… a partir desta tela principal, eu chamo uma JinternalFrame e posiciono no JDesktopPanel, esta tela tem por objetivo alimentar o banco de dados com informações referente a entrada de mercadorias. No entanto estou me deparando com um BUG, porque por exemplo, se no meio do processo eu fechar a JInternalFrame sem clicar no botão finalizar ou cancelar (eu literalmente ir la no botão fechar na barra superior do proprio jif) a informação ficará pela metade no Banco de Dados.
Tudo bem, eu posso fazer uma rotina para verificar se há dados no banco que ocorreram esse tipo situação, mas e se eu tiver 2 maquinas utilizando a mesma tela em momentos simultaneos? uma vai interferir na outra.
Minha duvida é:
Toda vez que clicamos no botão fechar do jif (no meu caso) nada mais é do que um DISPOSE(), tem como programar para que ANTES de realizar o dispose() eu fazer um delete ou rollback no banco de dados?

Muito obrigado pela atenção!

Depois de algum tempo, esse assunto resolvido.

Solução:
Criação de métodos que realizam o acerto no banco de dados e chamo esses métodos no evento window closed/closing.
Resolveu perfeitamente.