Quando chiudo una finestra GUI si spegne tutto il programma

di il
12 risposte

Quando chiudo una finestra GUI si spegne tutto il programma

Come si fa a fare questa cosa? Grazie. Perché la finestra che intendo io non è il main...

12 Risposte

  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Vedi il , evidentemente è stato usato il EXIT_ON_CLOSE (che non è il default) ..... cambialo.
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Ho provato tutte le combinazioni e non funziona. Provo a rispiegare la cosa, perché fose l'ho speigata troppo approssimatamente.
    Accendo il programma. Mi appare una finestra chiamata LOG IN mi loggo e la finestra LOG IN si chiude e si apre la finestra PRODOTTI. dalla finestra prodotto premo un bottone che apre la finestra CLIENTI. Quindi in questo momento sono aperte le finestra PRODOTTI e CLIENTI. Se io chiudo la finestra CLIENTI dovrebbe rimanere la finestra PRODOTTI e infatti così è e così va bene, ma se chiudo la finestra PRODOTTI si dovrebbe proprio spegnere tutto il programma, invece mi rimane la finestra CLIENTI... help? Grazie !
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    p0ll0_ ha scritto:


    Se io chiudo la finestra CLIENTI dovrebbe rimanere la finestra PRODOTTI e infatti così è e così va bene, ma se chiudo la finestra PRODOTTI si dovrebbe proprio spegnere tutto il programma, invece mi rimane la finestra CLIENTI...
    Mostra del codice. Se non è una questione del defaultCloseOperation, ci può essere dell'altro. Ma appunto senza vedere cosa è stato scritto è un po' difficile da capire ......
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Adesso ho capito il problema, forse. Grazie mille! Guardavo le impostazioni nella GUI e non nel codice. Grazie mille.
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Ok, adesso il problema detto prima è risolto, ma c'è un problema simile.
    Apro il programma e c'è la finestrella log in. Mi loggo e la finestra log in si chiude in automatico e si apre quella HOME.
    dalla home clicco su clienti e mi si apre la finestra CLIENTI
    dalla finestra clienti clicco su aggiungi nuovo cliente e da li si apre la finestra AGGIUNGI NUOVO CLIENTE.
    Quindi ci sono aperte HOME CLIENTI e AGGIUNGI NUOVO CLIENTE
    Se chiudo la home si chiude tutto che è quello che voglio. Se chiudo aggiungi nuovo cliente si chiude solo quella e va bene, ma se chiudo CLIENTI rimane aperta AGGIUNGI NUOVO CLIENTE che invece vorrei si chiudesse... come si fa?
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Scusa ma ... verifica(/imposta) il defaultCloseOperation per ciascuna finestra!
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    E che cosa ci devo mettere?
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    p0ll0_ ha scritto:


    E che cosa ci devo mettere?
    Il metodo che ho linkato prima ..
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Che evidentemente non ho capito...
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    p0ll0_ ha scritto:


    Che evidentemente non ho capito...
    public class UnaFinestra extends JFrame {
        public UnaFinestra() {
            super("titolo finestra");
            setDefaultCloseOperation(  /*...scegli tu...*/  );
            
            // ......
        }
    }
    Scegli tu la azione da fare quando si chiude la finestra, vedi documentazione linkata.
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Se non ho capito male, però, l'utente chiede una cosa diversa: alla chiusura della finestra X deve chiudersi anche la finestra Y (se è aperta) e non tutta l'applicazione (o, quantomento, non le altre finestre aperte). Questo lo si fa con un WindowListener.
    
    public class UnaFinestra extends JFrame {
        ...
        private JFrame altraFinestra;
        ...
        public UnaFinestra() {
            super("titolo finestra");
            setDefaultCloseOperation( DO_NOTHING_ON_CLOSE );
            addWindowListener( new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent we) {
                   verificaChiusura();
                }
            });
            // ......
        }
        ...
        private void verificaChiusura() {
            if (altraFinestra != null) {
                altraFinestra.dispose();
            }
            dispose();
        }
    }
    
    Qualcosa del genere.
    "altraFinestra" è il riferimento alla finestra "secondaria" che deve essere chiusa alla chiusura della "principale".
  • Re: Quando chiudo una finestra GUI si spegne tutto il programma

    Grazie spiritolibero è proprio quello che intendevo.
Devi accedere o registrarti per scrivere nel forum
12 risposte