View Single Post
Old 11-05-2012, 16:57   #1
franksisca
Senior Member
 
L'Avatar di franksisca
 
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}
vi spiego "la funzione": questo metodo viene richiamato quando "cambio" il selected element su una jlist, che a sua volta mi deve compilare delle altre jlist (referenti e file associati) più altri campi. il problema è che è come se venisse richiamata due volte l'aggiornamento, e quindi anche i vettori che vado a riempiere poi mi contengono più oggetti. mi sfugge qualcosa in riferimento alle swing oppure sono talmente rinco da non vedere qualcosa di banale?
__________________
My gaming placement
franksisca è offline   Rispondi citando il messaggio o parte di esso