@Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { basicPanelRenderer.getListCellRendererComponent(list, this, index, isSelected, cellHasFocus); ContactItem renderItem = (ContactItem)value; setFocusable(false); setNickname(renderItem.getNickname()); setAlias(renderItem.getAlias()); if (this.getDisplayName().trim().isEmpty()) { // Fallback hack to show something other than empty string. // JID can't be set after object creation, so alias is reset. setAlias(renderItem.getDisplayName()); } setIcon(renderItem.getIcon()); setStatus(renderItem.getStatus()); getNicknameLabel().setFont(renderItem.getNicknameLabel().getFont()); getNicknameLabel().setForeground(renderItem.getNicknameLabel().getForeground()); getDescriptionLabel().setFont(renderItem.getDescriptionLabel().getFont()); getDescriptionLabel().setText(renderItem.getDescriptionLabel().getText()); getSpecialImageLabel().setIcon(renderItem.getSpecialImageLabel().getIcon()); getSideIcon().setIcon(renderItem.getSideIcon().getIcon()); return this; } }