se hai fatto tutto quello che hai detto, ovvero cambiare colore etc etc probabilmente ti mancava tanto così "." dal togliere anche il bordo: si passa comunque dal ListCellRenderer e tra le varie cose, si setta il Border a null prima di ritornare la JLabel renderizzata come serve a noi.
Ti lascio del codice strippato di tutti gli orpelli inutili:
codice:import java.awt.*; import javax.swing.*; import javax.swing.border.*; /** * * @author Andrea */ public class JListTest extends JFrame { private class MyListCellRenderer extends DefaultListCellRenderer { private DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer(); public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel rendered = (JLabel)defaultRenderer.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); rendered.setBorder(null); return rendered; } } public JListTest() { super("Test"); String[] data = new String[] {"Mickey Mouse", "Minnie Mouse", "Donald Duck"}; JList list = new JList(data); list.setCellRenderer(new MyListCellRenderer()); this.getContentPane().add(new JScrollPane(list), BorderLayout.CENTER); this.setSize(400,400); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main (String[] args) { new JListTest(); } }

Rispondi quotando