/[schmitzm]/trunk/src/skrueger/swing/checkboxtree/CheckBoxNodeRenderer.java
ViewVC logotype

Annotation of /trunk/src/skrueger/swing/checkboxtree/CheckBoxNodeRenderer.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 714 - (hide annotations)
Sun Feb 21 19:17:34 2010 UTC (15 years ago) by alfonx
File MIME type: text/plain
File size: 2948 byte(s)
Started a new wizard to import maps and data from other GP atlases. Basically works. This included some simplifacation in the ResourceManager code. It is now a field of the specific AtlasConfig instance. 
1 alfonx 714 package skrueger.swing.checkboxtree;
2    
3     import java.awt.Color;
4     import java.awt.Component;
5     import java.awt.Font;
6    
7     import javax.swing.BorderFactory;
8     import javax.swing.JCheckBox;
9     import javax.swing.JTree;
10     import javax.swing.UIManager;
11     import javax.swing.tree.DefaultMutableTreeNode;
12     import javax.swing.tree.DefaultTreeCellRenderer;
13     import javax.swing.tree.TreeCellRenderer;
14    
15     public class CheckBoxNodeRenderer implements TreeCellRenderer {
16     protected JCheckBox leafRenderer = new JCheckBox();
17    
18     protected DefaultTreeCellRenderer nonLeafRenderer = new DefaultTreeCellRenderer();
19    
20     Color selectionBorderColor;
21    
22     protected Color selectionForeground;
23    
24     protected Color selectionBackground;
25    
26     protected Color textForeground;
27    
28     protected Color textBackground;
29    
30     public JCheckBox getLeafRenderer() {
31     return leafRenderer;
32     }
33    
34     public CheckBoxNodeRenderer() {
35     Font fontValue;
36     fontValue = UIManager.getFont("Tree.font");
37     if (fontValue != null) {
38     leafRenderer.setFont(fontValue);
39     }
40     Boolean booleanValue = (Boolean) UIManager
41     .get("Tree.drawsFocusBorderAroundIcon");
42     leafRenderer.setFocusPainted((booleanValue != null)
43     && (booleanValue.booleanValue()));
44    
45     leafRenderer.setBorder(BorderFactory.createEmptyBorder(1,1,1,1));
46    
47     selectionBorderColor = UIManager.getColor("Tree.selectionBorderColor");
48     selectionForeground = UIManager.getColor("Tree.selectionForeground");
49     selectionBackground = UIManager.getColor("Tree.selectionBackground");
50     textForeground = UIManager.getColor("Tree.textForeground");
51     textBackground = UIManager.getColor("Tree.textBackground");
52     }
53    
54     public Component getTreeCellRendererComponent(JTree tree, Object value,
55     boolean selected, boolean expanded, boolean leaf, int row,
56     boolean hasFocus) {
57    
58     Component returnValue;
59     if (leaf) {
60    
61     String stringValue = tree.convertValueToText(value, selected,
62     expanded, leaf, row, false);
63     leafRenderer.setText(stringValue);
64     leafRenderer.setSelected(false);
65    
66     leafRenderer.setEnabled(tree.isEnabled());
67    
68     if (selected) {
69     leafRenderer.setForeground(selectionForeground);
70     leafRenderer.setBackground(selectionBackground);
71     } else {
72     leafRenderer.setForeground(textForeground);
73     leafRenderer.setBackground(textBackground);
74     }
75    
76     if ((value != null) && (value instanceof DefaultMutableTreeNode)) {
77     Object userObject = ((DefaultMutableTreeNode) value)
78     .getUserObject();
79     if (userObject instanceof CheckBoxNode) {
80     CheckBoxNode node = (CheckBoxNode) userObject;
81     leafRenderer.setText(node.getText());
82     leafRenderer.setSelected(node.isSelected());
83     }
84    
85     }
86     returnValue = leafRenderer;
87     } else {
88     returnValue = nonLeafRenderer.getTreeCellRendererComponent(tree,
89     value, selected, expanded, leaf, row, hasFocus);
90     }
91     return returnValue;
92     }
93     }

Properties

Name Value
svn:eol-style native
svn:keywords Id URL
svn:mime-type text/plain

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26