I have a small problem.
My Java application holds some native resources. I want to free those resources just before I exit the application. Therefore I wrote a WindowListener that frees those resources in windowClosed event.
The problem is that I am having a JFrame with EXIT_ON_CLOSE, so when I close the window, it shuts down the JVM and the event will never reach me.
If I use windowClosing event, then somebody can actually override the closing event ater I freed the resources. This will then lead to segfaults in native code.
I can just put away the EXIT_ON_CLOSE and call System.exit(0) from the listener, but that does not seem clean to me.
You could maybe add a shutdown hook and free the native resources there?
Runtime.getRuntime().addShutdownHook(Thread t). See more info here.