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