Ciao a tutti![]()
Dubbio su swing...
Sto cercando di subordinare la chiusura di una finestra ad un metodo void uscita(), che venga cioè richiamato quando si preme la X di questo oggetto JFrame.
Il metodo uscita non fa altro che chiedere la conferma con una JConfirmDialog (del tipo "OK","ANNULLA") ed è fatta così:
Per fare in modo che venga richiamata alla pressione di X ho detto alla mia classe di implementare WindowListener e gli ho definito il metodo windowclosing semplicemente in questo modo:codice:public void uscita() { int risultato = JOptionPane.showConfirmDialog(principale,"Sei sicuro di voler uscire?","Sei sicuro?",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE); if (risultato == JOptionPane.OK_OPTION) System.exit(0); }
Se si preme ok, e si vuole effettivamente uscire tutto funziona.codice:public void windowClosing(WindowEvent e) { uscita(); }
Se si preme annulla, la JDialog, invece di sparire, viene riproposta inaspettatamente!![]()
Perchè??
Info aggiuntiva:
Il debug del programma mostra come avviene la chiusura della finestra a livello della classe AWTEventMulticaster![]()
Vedo come effettvamente la richiesta viene fatta 2 volte!Infatti nella suddetta classe:
Checodice:public void windowClosing(WindowEvent e) { ((WindowListener)a).windowClosing(e); ((WindowListener)b).windowClosing(e); }faccio?????

Infatti nella suddetta classe:
faccio?????
Rispondi quotando
