import javax.swing.JFrame; import javax.swing.SwingUtilities; public class ShutdownBsp { public ShutdownBsp() { Runtime.getRuntime().addShutdownHook(new ShutdownThread()); JFrame frame = new JFrame("Shutdown Hook"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> new ShutdownBsp()); } } class ShutdownThread extends Thread { public void run() { System.out.println("Programm wird geschlossen."); } }