Ciao a tutti
per la serie problemi davvero strani non riesco a capire perchè il mio programma fa così :P
dunque,ho creato una finestra con una combobox, campi di testo e un bottone:selezionando un oggetto della combobox i campi di testo si riempiono coi valori che appartengono all'oggetto selezionato,per modificarli bisogna sovrascrivere i valori nei campi di testo(a cui sono associati un action e un focus listener) e poi cliccando sul bottone si chiama un metodo di un'altra classe che usa questi valori per modificare l'oggetto e salvare le modifiche.
Il codice del bottone in questione è:

codice:
else if(e.getSource() instanceof JButton) 
{ int flag=0; 
for(int i=0;i<m.GetProdotti().size() && flag==0 ;i++) if(m.GetProdotti().get(i).GetCodice().equals(selezionato)) 
{ flag=1; 
Marca presente= m.GetProdotti().get(i).GetMarca(); 
String attuale=m.GetProdotti().get(i).GetCodice(); 
int index= i;
 m.ModificaProdotto(new Prodotto(attuale,modcost,modprice,modquant,presente), index); } }
se ora provo ad aggiungere una clausola del tipo
codice:
if(modquant>0 && modprice>0 && modquant>0)
(modprice eccetera sono variabili di istanza i cui valori sono assegnati dall action e dal focus listener)
prima di invocare il metodo modifica,succede un casino: se metto uno solo dei campi nulli tutto ok,mi appare il messaggio di errore(l'ho scritto sotto come "else"): ma se cambio di nuovo e ne metto uno giusto continua a darmi errore perchè per qualche motivo mi azzera gli altri due valori senza che io li abbia toccati!!
QUalcuno sa aiutarmi? Grazie