KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > gui > contact > list > ContactListRenderer


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.mail.gui.contact.list;
19
20 import java.awt.Component JavaDoc;
21
22 import javax.swing.ImageIcon JavaDoc;
23 import javax.swing.JLabel JavaDoc;
24 import javax.swing.JList JavaDoc;
25 import javax.swing.ListCellRenderer JavaDoc;
26
27 import org.columba.addressbook.facade.IHeaderItem;
28 import org.columba.core.resourceloader.ImageLoader;
29 import org.columba.mail.resourceloader.MailImageLoader;
30
31
32 public class ContactListRenderer extends JLabel JavaDoc implements ListCellRenderer JavaDoc {
33     ImageIcon JavaDoc image1 = MailImageLoader.getSmallIcon("contact-new.png");
34
35     ImageIcon JavaDoc image2 = ImageLoader
36             .getSmallIcon(org.columba.core.resourceloader.IconKeys.USER);
37
38     public ContactListRenderer() {
39         setOpaque(true);
40         setHorizontalAlignment(LEFT);
41         setVerticalAlignment(CENTER);
42     }
43
44     public Component JavaDoc getListCellRendererComponent(JList JavaDoc list, Object JavaDoc value,
45             int index, boolean isSelected, boolean cellHasFocus) {
46         if (isSelected) {
47             setBackground(list.getSelectionBackground());
48             setForeground(list.getSelectionForeground());
49         } else {
50             setBackground(list.getBackground());
51             setForeground(list.getForeground());
52         }
53
54         IHeaderItem item = (IHeaderItem) value;
55
56         setText(item.getName());
57
58         if (item.isContact())
59             setIcon(image1);
60         else
61             setIcon(image2);
62
63         setToolTipText(HeaderItemToolTipFactory.createToolTip(item));
64
65         return this;
66     }
67
68 }
Popular Tags