Recimo da zelis da dodas samo slike u JList, onda bi to radio na sledeci nacin:
1) Napravis novu klasu koja implementira ListCellRenderer
2) Unutar komponente napravis jednu finalnu instancu labele
Code:
private final JLabel imgLabel = new JLabel();
3) Pretpostavimo da si u ovu listu ubacivao objekte tipa ImageIcon. Onda bi implementirao metodu getListCellRendererComponent() ovako:
Code:
if (value instanceof ImageIcon {
imgLabel.setIcon((ImageIcon)value);
}
return imgLabel;
4) Sada podesis da tvoja lista koristi ovaj renderer:
Code:
tabsList.setCellRenderer(new MojSuperRenderer());
To je sve. Ne zaboravi samo da u listu ubacujes elemente tipa ImageIcon. Mozes ti da ubacujes sta god hoces, samo onda renderer namesti tako da on handluje te objekte kako treba.
Odavde mozes ici i ka kompleksnijim resenjima. Npr. lako napravis jedan JPanel koji u sebi ima razne dugmice, polja itd. pa napravis renderer za njega, ubacis ga u listu, i dobices listu istovetnih panela. Sve zavisi samo sta vraca kao rezultat metoda getListCellRendererComponent() (u tvom slucaju vraca labelu koja sadrzi u sebi sliku).