Comment puis-je modifier la couleur d'arrière-plan de l'élément qui est sélectionné en jlist dynamiquement? p>
4 Réponses :
Si je vous comprends clairement, consultez javax.swing.listcellrenderer code>.
Vous devez le réimplémenter ou étendre
javax.swing.defaultlistCellrenderer code> et personnaliser le
getlistCellrendererComponent code> méthode. P>
Quelque chose comme ce qui suit devrait aider comme point de départ:
public class SelectedListCellRenderer extends DefaultListCellRenderer { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if (isSelected) { c.setBackground(Color.RED); } return c; } } // During the JList initialisation... jlist1.setCellRenderer(new SelectedListCellRenderer());
Un moyen plus facile de passer au mode de conception dans Eclipse et dans les propriétés de votre jlist, cliquez sur le bouton qui dispose de deux petites flèches avec une grande flèche jaune entrée entre elles pour ouvrir "Afficher les propriétés avancées". Ensuite, faites défiler la couleur et changez la couleur où il indique «Selectionbackground» et changez la couleur là-bas (ce sera probablement gris, mais cela changera toujours). Maintenant, lorsque vous exécutez votre programme, tout ce que vous sélectionnez, l'arrière-plan sera cette couleur. p>
jList1.setSelectedIndex(currentLine); jList1.setSelectionBackground(Color.red); Just Set Selected index of all the items you want to color in a loop and Change the color Accordingly!