Une JList peut s'initialiser directement avec un Vector, donc on peut écrire :
JList<Annee> jlist = new JList<>( new Vector<>( list ) );
si list est de type List<Annee>.
Par contre, si tu veux voir les libellés du type 2012-2013, il te faudra soit implémenter toString() de la classe Annee, soit modifier le ListCellRenderer. On alors, utiliser une List<String> et virer la classe Annee qui ne sert pas à grand chose pour l'instant.
Moi, je ferais une classe Annee qui permet de faire des manipulations d'années, donc de connaitre l'année en faisant int anneeDebut = annee.getDebut() par exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public class Annee {
private final int anneeDebut;
private final int anneeFin;
public Annee(int anneeDebut) {
this.anneeDebut=anneeDebut;
this.anneeFin=anneeDebut+1;
}
public Annee(int anneeDebut, int anneeFin) {
this.anneeDebut=anneeDebut;
this.anneeFin=anneeFin;
}
public int getDebut() {
return anneeDebut;
}
public int getFin() {
return anneeFin;
}
@Override
public String toString() {
return anneeDebut+"-"+anneeFin;
} |
Partager