Ho risolto così:

codice:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JList;
import javax.swing.JLabel;
import javax.swing.ListCellRenderer;
import javax.swing.ListSelectionModel;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.ArrayList;

public class testlist extends JFrame
{
	String[] stringlist = {"uno", "due", "tre", "quattro", "cinque", "sei"};
	JList list = new JList (stringlist);
	renderer rend;
	JPanel panel = new JPanel();
	JButton click = new JButton ("click");
	ArrayList < Integer > selectedIndex;
	
	public testlist()
	{
		super ("testlist");
		setSize (200, 200);
		setLocationRelativeTo (null);
		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
		
		selectedIndex = new ArrayList < Integer >();
		
		click.addActionListener
		(
			new ActionListener()
			{
				public void actionPerformed (ActionEvent event)
				{
					if (!selectedIndex.contains (list.getSelectedIndex()))
					{
						selectedIndex.add (list.getSelectedIndex());						
					}
					else
					{
						int index = selectedIndex.indexOf (list.getSelectedIndex());
						selectedIndex.remove (index);
					}
					
					list.updateUI();
				}
			}
		);
		
		rend = new renderer();
		list.setCellRenderer (rend);
		list.setSelectionMode (ListSelectionModel.SINGLE_SELECTION);
		panel.add (new JScrollPane (list));
		panel.add (click);
		
		add (panel);
		
		setVisible (true);
	}
	
	class renderer extends JLabel implements ListCellRenderer
	{
		renderer()
		{
			setOpaque (true);
		}
		
		public Component getListCellRendererComponent (JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
		{
	        setText (value.toString());
			setBackground (isSelected ? Color.BLUE : Color.WHITE);
			setForeground (isSelected ? Color.WHITE : Color.BLUE);
			
			for (Integer element : selectedIndex)
			{
				if (element == index)
				{
					setForeground (Color.RED);
				}
			}

			return this;
		}
	}
	
	public static void main (String[] args)
	{
		new testlist();
	}
}