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