Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [java]Chiusura JDialog tramite altra JDialog

    Ciao! Se io da una JDialog 1 apro una JDialog 2... come faccio a chiudere la JDialog 1 tramite la JDialog 2?

    JDialog 1
    codice:
    private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
        JDialog JDialog2 = new JDialog2(null, false);
        JDialog2.setVisible(true);//apro JDialog 2
    }
    JDialog2
    codice:
    private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
        JDialog JDialog1 = new JDialog1(null, false);   
        JDialog1.setVisible(true);//apro una nuova JDialog 1
        dispose();//chiudo la Jdialog 2
        ?????? chiudere JDialog1 ??????
    }
    Mi ritrovo con due JDialog 1. Io vorrei che la prima venisse chiusa.
    Ma come?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    setVisible(false)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Originariamente inviato da Alex'87
    setVisible(false)
    setVisible(false) però posso solo metterla nella JDialog 1.
    Io vorrei che mentre JDialog 2 è visibile, anche la JDialog 1 iniziale fosse visibile e soltanto quando la JDialog 2 si chiude anche la JDialog 1 si chiuda e se ne apra una nuova.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java]Chiusura JDialog tramite altra JDialog

    Originariamente inviato da elnelly
    come faccio a chiudere la JDialog 1 tramite la JDialog 2?
    La risposta banale: passando alla seconda il riferimento alla prima.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5

    Re: Re: [java]Chiusura JDialog tramite altra JDialog

    Originariamente inviato da andbin
    La risposta banale: passando alla seconda il riferimento alla prima.
    Ok allora cambio domanda. Come passo alla seconda il riferimento alla prima?
    Mi vergogno di questa domanda, mi dispiace ma sono alle prime armi...

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: [java]Chiusura JDialog tramite altra JDialog

    Originariamente inviato da elnelly
    Come passo alla seconda il riferimento alla prima?
    Tramite costruttore o un metodo ... dipende da come e dove viene creata la seconda dialog.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7

    Re: Re: Re: Re: [java]Chiusura JDialog tramite altra JDialog

    Originariamente inviato da andbin
    Tramite costruttore o un metodo ... dipende da come e dove viene creata la seconda dialog.
    La seconda dialog viene creata dalla prima mediante un pulsante.
    Dove lo metto il metodo? Nella prima dialog? E poi come la richiamo nella seconda dialog?
    Una cosa di questo tipo o sono completamente fuori strada?

    JDialog 1
    codice:
    public void chiusuraDialog1(){
        dispose();
    } 
    
    private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
        JDialog JDialog2 = new JDialog2(null, false);
        JDialog2.setVisible(true);//apro JDialog 2
    }
    JDialog 2
    codice:
    private void jButtonActionPerformed(java.awt.event.ActionEvent evt) {
        JDialog JDialog1 = new JDialog1(null, false);   
        JDialog1.setVisible(true);//apro una nuova JDialog 1
        dispose();//chiudo la Jdialog 2
        chiusuraDialog1 --> ma come la richiamo? 
    }

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: Re: Re: [java]Chiusura JDialog tramite altra JDialog

    Originariamente inviato da elnelly
    La seconda dialog viene creata dalla prima mediante un pulsante.

    codice:
    new JDialog2(null, false);
    Che costruttore è questo? Se il primo parametro è l'owner, qui vuoi che non abbia owner. Ok ma comunque aggiungi un parametro al costruttore a cui passi il this (all'interno della classe di JDialog1 indica il riferimento all'oggetto sé stesso, quello su cui è invocato jButtonActionPerformed).

    In JDialog2 terrai il riferimento a JDialog1 come "variabile di istanza" e potrai usarlo all'interno della classe.

    P.S. queste sono delle "basi" sulla programmazione ad oggetti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Allora... La mia JDialog1 è Acquisti, la JDialog2 è AggiuntaAcquisto.
    Il codice che ho scritto è questo.
    Prima che provassi a far chiudere la finestra funzionava.
    In blu ciò che ho aggiunto, in rosso le righe che mi danno errore.
    Cosa sbaglio?
    Acquisti
    codice:
    public class Acquisti extends javax.swing.JDialog {
        public Acquisti(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();  
        }
    
    private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                               
            // TODO add your handling code here:
            boolean chiusuraAcquisti = false;
            JDialog AggiuntaAcquisto = new AggiuntaAcquisto(this, false); -->Create constructor AggiuntaAcquisto
            AggiuntaAcquisto.setVisible(true);
        }
    AggiuntaAcquisto
    codice:
    public class AggiuntaAcquisto extends javax.swing.JDialog {
        Acquisti Acq;
        /** Creates new form AggiuntaAcquisto */
        public AggiuntaAcquisto(Acquisti Acq, java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
            this.Acq=Acq;
        }
    
    private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                               
            
            JDialog Acquisti = new Acquisti(null, false);
            Acquisti.setVisible(true);
            dispose();
            Acq.dispose();
        }             
                                                  
        java.awt.EventQueue.invokeLater(new Runnable() {
    
            public void run() {
                AggiuntaAcquisto dialog = new AggiuntaAcquisto(new javax.swing.JFrame(), true); -->Create constructor AggiuntaAcquisto
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
    
                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da elnelly
    codice:
    JDialog AggiuntaAcquisto = new AggiuntaAcquisto(this, false); -->Create constructor AggiuntaAcquisto
    Adesso il tuo costruttore di AggiuntaAcquisto ha 3 parametri ... qui vedo solo 2 argomenti.

    Originariamente inviato da elnelly
    codice:
    public class AggiuntaAcquisto extends javax.swing.JDialog {
        Acquisti Acq;
        /** Creates new form AggiuntaAcquisto */
        public AggiuntaAcquisto(Acquisti Acq, java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
            this.Acq=Acq;
        }
    
    
            Acq.dispose();
    Dichiarazione della variabile di istanza (sarebbe preferibile se fosse 'private' ma non è un grosso problema), costruttore, assegnamento e uso sono ok.

    Originariamente inviato da elnelly
    codice:
    AggiuntaAcquisto dialog = new AggiuntaAcquisto(new javax.swing.JFrame(), true); -->Create constructor AggiuntaAcquisto
    Idem come sopra ... vedo solo 2 argomenti.

    Poi tra l'altro, non l'ho capito, perché in AggiuntaAcquisto dovresti istanziare un altro AggiuntaAcquisto passando tra l'altro un JFrame "fittizio"?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.