Um den Text in einer JList farbig darzustellen, muss man nur ähnlich wie bei JList mit Icons erstellen einen ListCellRenderer erzeugen und diesen modifizieren.
import java.awt.Color; import java.awt.Component; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.ListCellRenderer; import javax.swing.UIManager; /** * * @author Changer <admin@swechsler.de> * @date Feb 18, 2014 * @time 1:19:54 PM * */ public class PatchCellRenderer extends JLabel implements ListCellRenderer { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { PatchModel patch = (PatchModel) value; this.setText(patch.getItemName()); //Dringend notwendig um Foreground oder Background zu setzen this.setOpaque(true); //Unterscheiden zwischen ausgewähltem und nicht ausgewähltem Item if (isSelected) { this.setForeground(UIManager.getColor("List.selectionForeground")); this.setBackground(UIManager.getColor("List.selectionBackground")); } else { this.setForeground(Color.red); this.setBackground(UIManager.getColor("List.background")); } return this; } }