/* Custom cell renderer for the JList */ class MyCellRenderer extends DefaultListCellRenderer { public ImageIcon onlineIcn, offlineIcn; public MyCellRenderer() { setOpaque(true); } public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { ImageIcon onlineIcn = new ImageIcon("icons/status_online.png"); ImageIcon offlineIcn = new ImageIcon("icons/status_offline.png"); String s = value.toString(); //setText(s); JLabel moo = new JLabel(); contact con = (contact) value; moo.setText(con.getName()); moo.setIcon(con.getStatus().equals("online") ? onlineIcn : offlineIcn); moo.setBackground(isSelected ? Color.lightGray : Color.white); moo.setForeground(con.getStatus().equals("online") ? Color.green : Color.red); return this; } }