Visual Color Imbalance Detector: Reconstructed project directories and files
[VistaCID.git] / org / tjworld / components / IconTitledURLItemRenderer.java
1 /*\r
2         * IconTitledURLItemRenderer.java\r
3  *\r
4         * Created on 15 November 2001, 15:57\r
5         * $Header: /VisTA/CID/Components/IconTitledURLItemRenderer.java 1     15/11/01 16:01 Tj $\r
6         *\r
7         * $History: IconTitledURLItemRenderer.java $\r
8  * \r
9  * *****************  Version 1  *****************\r
10  * User: Tj           Date: 15/11/01   Time: 16:01\r
11  * Created in $/VisTA/CID/Components\r
12  * Modular version of original ComboBoxURLItemRenderer\r
13  */\r
14 \r
15 package org.tjworld.components;\r
16 \r
17 import java.awt.Component;\r
18 import javax.swing.JList;\r
19 \r
20 /**\r
21         * Renders URL document titles and icons as simple JLabels for JList and JComboBox\r
22  *\r
23         * @author  TJ\r
24  * @version 1.0 15 Nov, 2001\r
25  */\r
26 public class IconTitledURLItemRenderer extends javax.swing.JLabel implements javax.swing.ListCellRenderer {\r
27 \r
28         /** Creates new ComboBoxURLItemRenderer */\r
29  public IconTitledURLItemRenderer() {\r
30                 setOpaque(true);\r
31                 setVerticalAlignment(CENTER);\r
32                 setHorizontalAlignment(LEADING);\r
33  }\r
34 \r
35         /**\r
36                 * Return a component that has been configured to display the specified\r
37                 * value. That component's <code>paint</code> method is then called to\r
38                 * "render" the cell.  If it is necessary to compute the dimensions\r
39                 * of a list because the list cells do not have a fixed size, this method\r
40                 * is called to generate a component on which <code>getPreferredSize</code>\r
41                 * can be invoked.\r
42                 *\r
43                 * @param list The JList we're painting.\r
44                 * @param value The value returned by list.getModel().getElementAt(index).\r
45                 * @param index The cells index.\r
46                 * @param isSelected True if the specified cell was selected.\r
47                 * @param cellHasFocus True if the specified cell has the focus.\r
48                 * @return A component whose paint() method will render the specified value.\r
49                 *\r
50                 * @see JList\r
51                 * @see ListSelectionModel\r
52                 * @see ListModel\r
53                 */\r
54         public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {\r
55                 if (isSelected) {\r
56    setBackground(list.getSelectionBackground());\r
57    setForeground(list.getSelectionForeground());\r
58   } else {\r
59    setBackground(list.getBackground());\r
60    setForeground(list.getForeground());\r
61   }\r
62 \r
63   IconTitledURLItem item = (IconTitledURLItem)value;\r
64   setText(item.getTitle());\r
65   setIcon(item.getIcon());\r
66   return this;\r
67         }\r
68 }