Source code: it/rabellino/toska/gui/KeysTreeCellRenderer.java
1 package it.rabellino.toska.gui;
2
3 import it.rabellino.toska.Key;
4 import it.rabellino.toska.Host;
5 import it.rabellino.toska.User;
6 import java.awt.Component;
7
8 import javax.swing.ImageIcon;
9 import javax.swing.JTree;
10 import javax.swing.tree.DefaultMutableTreeNode;
11 import javax.swing.tree.DefaultTreeCellRenderer;
12
13 /**
14 * @author <a href="gianugo@apache.org">Gianugo Rabellino</a>
15 *
16 */
17 public class KeysTreeCellRenderer extends DefaultTreeCellRenderer {
18
19 private ImageIcon hostIcon;
20 private ImageIcon userIcon;
21 private ImageIcon keysIcon;
22 private ImageIcon keyIcon;
23 private ImageIcon keyDisabledIcon;
24
25 /**
26 * Constructor for KeysTreeCellRenderer.
27 */
28 public KeysTreeCellRenderer() {
29
30 super();
31 ClassLoader cl = KeysTreeCellRenderer.class.getClassLoader();
32 hostIcon = new ImageIcon(cl.getResource("resources/host.gif"));
33 userIcon = new ImageIcon(cl.getResource("resources/user.gif"));
34 keysIcon = new ImageIcon(cl.getResource("resources/users.gif"));
35 keyIcon = new ImageIcon(cl.getResource("resources/key.gif"));
36 keyDisabledIcon = new ImageIcon(cl.getResource("resources/disabledkey.gif"));
37
38 }
39
40 public Component getTreeCellRendererComponent(
41 JTree tree,
42 Object value,
43 boolean sel,
44 boolean expanded,
45 boolean leaf,
46 int row,
47 boolean hasFocus) {
48
49 super.getTreeCellRendererComponent(
50 tree, value, sel,
51 expanded, leaf, row,
52 hasFocus);
53 DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
54
55 Object nodeType = node.getUserObject();
56 if (nodeType instanceof Key) {
57 if (((Key)nodeType).isDisabled())
58 setIcon(keyDisabledIcon);
59 else
60 setIcon(keyIcon);
61 } else if (nodeType instanceof User) {
62 setIcon(userIcon);
63 } else if (nodeType instanceof String &&
64 ((String)nodeType).equals("Keys")) {
65 setIcon(keysIcon);
66
67 } else {
68 setIcon(hostIcon);
69 }
70
71 return this;
72 }
73
74
75
76
77 }