I'm looking to force-close a Java window even if a function is currently running - is there a way to do this? I have some functions that take quite a while in certain conditions (eg. running from a CD or another non-local location) and I want to be able to force-stop those functions and completely exit the program. Is this possible? And how can I go about doing it?
My code for exiting is below:
this.addWindowListener(new java.awt.event.WindowAdapter() {
    @Override
    public void windowClosing(java.awt.event.WindowEvent windowEvent) {
        if (closeApplication()) {
            System.exit(0);
        }
    }
});
And the closeApplication() function:
private boolean closeApplication() {
    final JFrame temp = this;
    int exitDialogResult = JOptionPane.showConfirmDialog(temp, 
            "Are you sure you want to exit?", "Really Closing?", 
            JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE);
    if (exitDialogResult == JOptionPane.YES_OPTION) {
            //code here to stop various processes               
            return true;
        }
    else {
        return false;
    }
}
Quick edit to clarify: when my program is executing a long-running function and I attempt to close the window, the window listener doesn't even register the click.
 
     
     
     
    