Вам необходимо создать собственный ListCellRenderer следующим образом:
class Renderer extends JLabel implements ListCellRenderer {
и реализовать этот метод:
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
// Get the selected index. (The index param isn't
// always valid, so just use the value.)
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
// Display the text
String text = (String) value;
setText(text);
// Get the source
Затем, в зависимости от вашего источника, используйте this.setForeground (Color color), чтобы установить цвет вашего текста. Наконец,
return this;
}