1 package org.columba.addressbook.gui.list; 19 20 import java.awt.Component ; 21 22 import javax.swing.ImageIcon ; 23 import javax.swing.JLabel ; 24 import javax.swing.JList ; 25 import javax.swing.ListCellRenderer ; 26 27 import org.columba.addressbook.gui.util.ToolTipFactory; 28 import org.columba.addressbook.model.ContactModelPartial; 29 import org.columba.addressbook.model.GroupModelPartial; 30 import org.columba.addressbook.model.BasicModelPartial; 31 import org.columba.addressbook.resourceloader.IconKeys; 32 import org.columba.core.resourceloader.ImageLoader; 33 34 @SuppressWarnings ({"serial","serial"}) 35 public class AddressbookListRenderer extends JLabel implements ListCellRenderer { 36 ImageIcon image1 = ImageLoader.getSmallIcon(IconKeys.EDIT_CONTACT); 37 38 ImageIcon image2 = ImageLoader.getSmallIcon(org.columba.core.resourceloader.IconKeys.USER); 39 40 public AddressbookListRenderer() { 41 setOpaque(true); 42 setHorizontalAlignment(LEFT); 43 setVerticalAlignment(CENTER); 44 } 45 46 public Component getListCellRendererComponent(JList list, Object value, 47 int index, boolean isSelected, boolean cellHasFocus) { 48 if (isSelected) { 49 setBackground(list.getSelectionBackground()); 50 setForeground(list.getSelectionForeground()); 51 } else { 52 setBackground(list.getBackground()); 53 setForeground(list.getForeground()); 54 } 55 56 BasicModelPartial item = (BasicModelPartial) value; 57 58 setText(item.getName()); 59 60 if (item.isContact()) { 61 setIcon(image1); 62 setToolTipText(ToolTipFactory.createToolTip((ContactModelPartial)item)); 63 64 } else { 65 setIcon(image2); 66 setToolTipText(ToolTipFactory.createToolTip((GroupModelPartial)item)); 67 68 } 69 70 return this; 71 } 72 73 } | Popular Tags |