1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.xmlhammer.gui.preferences;
22
23 import java.awt.Component;
24
25 import javax.swing.JLabel;
26 import javax.swing.JTree;
27 import javax.swing.border.Border;
28 import javax.swing.border.EmptyBorder;
29 import javax.swing.tree.DefaultTreeCellRenderer;
30
31 /***
32 * The cell renderer for a XmlElementNode.
33 *
34 * @version $Revision: 1.3 $, $Date: 2006/03/27 22:43:21 $
35 * @author Edwin Dankert <edankert@gmail.com>
36 */
37 public class SimpleCellRenderer extends DefaultTreeCellRenderer {
38 private static final long serialVersionUID = -1320645592895770122L;
39
40 private static final Border BORDER = new EmptyBorder( 0, 2, 0, 0);
41
42 /***
43 * Configures the renderer based on the passed in components.
44 * The value is set from messaging the tree with
45 * <code>convertValueToText</code>, which ultimately invokes
46 * <code>toString</code> on <code>value</code>.
47 * The foreground color is set based on the selection and the icon
48 * is set based on on leaf and expanded.
49 */
50 public Component getTreeCellRendererComponent( JTree tree, Object value,
51 boolean selected, boolean expanded, boolean leaf,
52 int row, boolean focus) {
53 JLabel label = (JLabel)super.getTreeCellRendererComponent( tree, value, selected, expanded, leaf, row, focus);
54
55 label.setIcon( null);
56 label.setBorder( BORDER);
57
58
59 return label;
60 }
61 }