
Envoyé par
vince351
[...] j'enregistre donc tous les fichiers dans un tableau de File (File[] liste), mais il faut ensuite que je copie tous les noms de ces fichiers dans un tableau de String (String[] alarmes), pour les afficher dans ma Jlist[...]
Pas la peine... Tu peux passer directement ta Liste de File au constructeur de la JList. PAr défaut, ce qui sera affiché, c'est ce que renverra la méthode toString définie dans File.
Si tu veux changer cela, tu dois redéfinir un ListCellRenderer. Je te conseille d'hériter du DefaultListCellRenderer et de l'écrire comme suit :
1 2 3 4 5 6 7 8 9 10 11
| public class MonCellRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus) {
File file = (File)value; // ici tu récupères le fichier
String aAfficher = file.getName(); // ici tu définis l'object que tu veux afficher
return super.getListCellRendererComponent(list, aAfficher, index, isSelected, cellHasFocus); // tu fais un appel à la méthode getListCellRendererComponent définie dans DefaultListCellRenderer en lui passant la chaine a afficher.
}
} |
Il te faut ensuite l'ajouter à ta JList en faisant :
maJList.setCellRenderer(new MonCellRenderer());
Partager