Salve a tutti ragazzi... ho un piccolissimo problema... che però mi sta un po' infastidendo..
vi spiego la situazione..
ho una classe che fa apparire un JDialog che consente l'inserimento di dati... prendiamo ad esempio anagrafici..
questa classe "mydiag" nn è estensione di JDialog... ma semplicemente ne crea uno e lo visualizza..
di conseguenza ho i costruttori
codice:
public mydiag() {
getJD();
}
public mydiag(JDialog parent, boolean modal) {
getJD(parent, modal);
}
public mydiag(JFrame parent, boolean modal) {
getJD(parent, modal);
}
inquesto dialog ovviamente ho un bottone "ok" per il dispose...
nella classe ho una variabile booleana che mi dice se il dialog è stato chiuso alla pressione del tasto OK .. o eventualemtne di "annulla"...
quindi ... quando una seconda classe usa il mio mydiag .. faccio pressappoco così...
codice:
mydiag _jd = new mydiag( new JDialog(), true);
if (_jd.isOk()){
// il dialog è stato chiuso con ok quindi continuo...
_jd.getDati() ...
... etc etc
}
fin qui tutto ok... solo ke ora mi trovo nella condizione di dover riaprire lo stesso dialog con dei dati già settati...
io avevo pensato ad un metodo "setDati" in mydiag... ma ho questo problema:
se faccio...
codice:
mydiag _jd = new mydiag( new JDialog(), true);
_jd.setDati( dati );
if (_jd.isOk()){
// il dialog è stato chiuso con ok quindi continuo...
_jd.getDati() ...
... etc etc
}
essendo da costruttore posto MODALE.. l'esecuzione si ferma alla prima istruzione e nn setta nulla ne va avanti fino alla chiusura del dialog...
se cambio il primo rigo in
codice:
mydiag _jd = new mydiag( new JDialog(), false);
nn ha senso il mio "if" .. l'esecuzione continuerà anche se nn ho ancora usato il dialog...
so che il problema è una fesseria.. ma onestamente mi serve un consiglio
a presto