8
votes

Comment changer la couleur d'arrière-plan de l'élément sélectionné dans la jlist dynamiquement

Comment puis-je modifier la couleur d'arrière-plan de l'élément qui est sélectionné en jlist dynamiquement?


0 commentaires

4 Réponses :


0
votes

Si je vous comprends clairement, consultez javax.swing.listcellrenderer . Vous devez le réimplémenter ou étendre javax.swing.defaultlistCellrenderer et personnaliser le getlistCellrendererComponent méthode.


0 commentaires

22
votes

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());


0 commentaires

1
votes

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.


0 commentaires

1
votes
 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!

0 commentaires