Bonjour à tous.
Un petit problème me taraude depuis quelques jours, et je me décide enfin à poster. Le voici expliqué.
J'ai un objet JComboBox. Je l'initialise avec le modèle qui va bien (qui me permet de gérer une liste de files de priorités, passons).
Maintenant, j'aimerais bien ne pas afficher le produit (ignoble) de la méthode toString() de ces files, mais un truc du genre :
File 1
File 2
...
Après quelque recherche, j'en suis arrivé a la conclusion qu'il fallait remplacer le renderer de mon JComboBox. Je me crée donc mon petit renderer perso comme suit :
Deux problèmes se posent alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private class ComboRenderer extends JLabel implements ListCellRenderer { public ComboRenderer() { super(); } @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { setText("File n° " + index); return this; } }
1 - Lors du premier affichage, le JComboBox affiche "Liste -1", pas top.
2 - Lorsque je sélectionne un autre item dans la liste, l'affichage ne se met pas à jour. (Alors la sélection s'est bien faite, je peux bien modifier le contenu de l'item sélectionné)
Avec le renderer par défaut (rendu dégueu donc) le changement s'effectue bien et l'affichage initial est vide.
Help please =D
Merci d'avance.
Partager