Originariamente inviato da super_slotty
codice:
public String getValueAt(int row, int column) {

	for(Libro libro : lista){
		
   switch (column) {
       case 2: return libro.getCodice();
       case 1: return libro.getTitolo();
       case 0: return libro.getAnnoPubblicazione(); 
   		}
		
	}

   return null;
}
Cosa sbaglio?
Nel concetto. Non ha senso fare un for nel getValueAt(). Quando la tabella ha bisogno di visualizzare qualcosa invoca getValueAt() sul model e chiede "senti dammi il valore della cella con riga Y e colonna X". Punto.

Ora, tuoi puoi accedere per indice ad un set??? La risposta è no. I set sono degli "insiemi" ... non delle liste.
Pertanto è nel costruttore che, partendo dal Set, devi creare un List (es. ArrayList) e usare poi quello per tutto il resto nel model.

E tra l'altro la soluzione banalissima c'è: uno dei costruttori di ArrayList riceve un Collection (e Set è un Collection!).