|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
[JAVA] Un for che mi cicla due volte da solo
Codice:
private void listaServiziValueChanged(javax.swing.event.ListSelectionEvent evt) {
if (this.listaServizi.getSelectedIndex() < 0) {
return;
}
this.elencoFile.removeAllElements();
this.addService.setEnabled(true);
this.addReferente.setEnabled(true);
this.addFile.setEnabled(true);
Servizio servizio = (Servizio) this.listaServizi.getSelectedValue();
this.elencoReferenti = new Vector<Referente>();
this.sintesiRefPerc = new Vector<String>();
this.listaReferenti.setListData(servizio.getElencoReferenti().toArray());
Object[] referentiDaReinserire = servizio.getElencoReferenti().toArray();
for (int i = 0; i < referentiDaReinserire.length; ++i) {
System.out.println("stampa la lunghezza: " + referentiDaReinserire.length);
System.out.println("stampa l'indice i: " + i);
System.out.println("inserimento dei referenti già presenti: " + (Referente) referentiDaReinserire[i]);
this.elencoReferenti.add((Referente) referentiDaReinserire[i]);
this.sintesiRefPerc.add(((Referente) (referentiDaReinserire[i])).getCodiceFiscale() + "#" + this.percentualeSpinner.getValue());
}
this.descrioneText.setText(servizio.getDescrizione());
this.prezzoText.setText(servizio.getPrezzo());
LinkedList<Referente> linkedReferenti = servizio.getElencoReferenti();
LinkedList<File> linkedFile = servizio.getElencoFile();
for (File file : linkedFile) {
this.elencoFile.add(file);
}
this.listaFile.setListData(this.elencoFile);
this.settaReferenti(servizio);
}
l'output è questo Codice:
stampa la lunghezza: 2
stampa l'indice i: 0
inserimento dei referenti già presenti: R{2 2}
stampa la lunghezza: 2
stampa l'indice i: 1
inserimento dei referenti già presenti: R{1 1}
stampa la lunghezza: 2
stampa l'indice i: 0
inserimento dei referenti già presenti: R{2 2}
stampa la lunghezza: 2
stampa l'indice i: 1
inserimento dei referenti già presenti: R{1 1}
__________________
My gaming placement |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
come suggeritomi hgo inserito un log prima del for, e capito che in realtà è il metodo che viene richiamato due volte. ora il metodo è settato sull'evento valuechanged della JList. come posso arginare questo problema?
__________________
My gaming placement |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Prova a modificare il metodo listaServiziValueChanged aggiungendo come prima cosa questa controllo:
Codice:
if (this.listaServizi.getValueIsAdjusting()) {
return;
}
http://docs.oracle.com/javase/tutori...html#selection
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 11-05-2012 alle 17:15. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:59.




















