class MyJInternalFrame { private boolean bModify=false; public MyJInternalFrame() { setGUI(); } private void setGUI() { this.addInternalFrameListener(new InternalFrameAdapter(){ @Override public void internalFrameClosing(InternalFrameEvent e) { window_close(); } }); } private void window_close() { if bModify ) { int retcode; retcode = Basis.YesNoEsc("Beenden des Dialogfensters","Wollen Sie die Datei speichern?"); switch (retcode) { case Basis.YES: // save oder SaveAs Basis.Message("Meldung","Datei gespeichert, Fenster wird geschlossen"); break; case Basis.NO: Basis.Message("Meldung","Datei nicht gespeichert, Fenster wird geschlossen"); break; case Basis.ESC: Basis.Message("Meldung","Abbruch!"); return; } } dispose(); } // window_close }