Maverick82^
02-10-2007, 10:06
Salve,
sto lavorando su una semplice JApplet con qualche JDialog. Volevo capire
per bene cosa comporta questa linea di codice all'interno di una JDialog:
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
Teoricamente nel momento in cui si clicca sulla 'X' la JDialog dovrebbe
essere distrutta insieme a tutti i componenti in essa contenuta.
Nel mio caso ho un'altra classe che chiamo Logica, che gestisce la
logica e fa riferimento alla JDialog per esporre eventuali errori.
Mi sono accorto che in realtà anche dopo il dispose della JDialog,
l'istanza della classe Logica si riferisce sempre all'istanza della
JDialog creata in precedenza.
Infatti il controllo del seguente metodo contenuto in Logica fallisce,
quindi vuol dire che jdialog esiste ancora... ma non doveva essere
distrutto quando ho chiuso la la JDialog?
public void setJDialogAdmin(JDialogAdminRegistra jdialog) {
if (this.jdialog == null)
this.jdialog = jdialog;
}
Spero di essere stato chiaro...:)
sto lavorando su una semplice JApplet con qualche JDialog. Volevo capire
per bene cosa comporta questa linea di codice all'interno di una JDialog:
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
Teoricamente nel momento in cui si clicca sulla 'X' la JDialog dovrebbe
essere distrutta insieme a tutti i componenti in essa contenuta.
Nel mio caso ho un'altra classe che chiamo Logica, che gestisce la
logica e fa riferimento alla JDialog per esporre eventuali errori.
Mi sono accorto che in realtà anche dopo il dispose della JDialog,
l'istanza della classe Logica si riferisce sempre all'istanza della
JDialog creata in precedenza.
Infatti il controllo del seguente metodo contenuto in Logica fallisce,
quindi vuol dire che jdialog esiste ancora... ma non doveva essere
distrutto quando ho chiuso la la JDialog?
public void setJDialogAdmin(JDialogAdminRegistra jdialog) {
if (this.jdialog == null)
this.jdialog = jdialog;
}
Spero di essere stato chiaro...:)