void () { if (isShowing()) { hide(); } if (myWindowListener != null) { myWindowListener.saveSize(); removeWindowListener(myWindowListener); removeWindowFocusListener(myWindowListener); myWindowListener = null; } DialogWrapper wrapper = getDialogWrapper(); if (wrapper != null) wrapper.disposeIfNeeded(); final BufferStrategy strategy = getBufferStrategy(); if (strategy != null) { strategy.dispose(); } super.dispose(); removeAll(); DialogWrapper.cleanupRootPane(rootPane); DialogWrapper.cleanupWindowListeners(this); rootPane = null; myDisposed = true; }