Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    64

    [JAVA] overriding chiusura finestra

    Ciao a tutti, ho un problema con la chiusura di un applicazione che sto facendo vorrei fare in modo che alla chiusura della finestra prima di chiudere definitivamente l'applicazione venisse eseguita un altra operazione...sto utilizzando neatbeans 6.0 e nel codice che è stato generato automaticamente ho aggiunto le due righe dopo super(app) e implements WindowListener...diventa così...
    codice:
    public class VoiceView extends FrameView implements WindowListener{
    
        public VoiceView(SingleFrameApplication app) {
            super(app);
            
             VoiceApp.getApplication().getMainFrame().setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    
            VoiceApp.getApplication().getMainFrame().addWindowListener(this);
    
           
    
            initComponents();

    in seguito ho implemetato tutti i metodi in questo modo in particolare quello di closing che mi interessa...

    codice:
        public void windowOpened(WindowEvent e) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    
        public void windowClosed(WindowEvent e) {
          System.out.println("Ciao");
          System.exit(0);
        }
        public void windowClosing (WindowEvent e) {
          System.out.println("ciao");
          System.exit(0);
        
      }
    
    
        public void windowIconified(WindowEvent e) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    
        public void windowDeiconified(WindowEvent e) {
           throw new UnsupportedOperationException("Not supported yet.");
        }
    
        public void windowActivated(WindowEvent e) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    
        public void windowDeactivated(WindowEvent e) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    però la finestra scompare,ma il processo relativo rimane in esecuzione per altro non viene stampato niente prima della chiusura...dove sbaglio...?? c'è magari un metodo diverso messo a disposizione da Netbeans...magari sulle impostazioni del tool grafico...grazie in anticipo a chi mi darà una mano...

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    64
    Posto come ho risolto il problema...
    dopo la riga generata automaticamente da NB initComponents() ho aggiunto...

    codice:
            getFrame().setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
            getFrame().addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
            System.out.println("Ciao");
            chiudi();
            }
            });
    il metodo chiudi() l'ho implementato io e non fa altro che chiudere la finestra quindi

    codice:
        private void chiudi() {
                    System.exit(0);
                }
    cosi sembra funzionare...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.