KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > JBTreeCellRenderer


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * JBTreeCellRenderer.java
28  *
29  * Created on 1 giugno 2003, 16.04
30  *
31  */

32
33 package it.businesslogic.ireport.gui;
34 import it.businesslogic.ireport.*;
35 import javax.swing.tree.*;
36 import javax.swing.*;
37 import java.awt.*;
38 /**
39  *
40  * @author Administrator
41  */

42 public class JBTreeCellRenderer extends DefaultTreeCellRenderer {
43
44     static ImageIcon objectIcon;
45     static ImageIcon typeIcon;
46
47     public JBTreeCellRenderer() {
48         super();
49         if (objectIcon == null) objectIcon = new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/tree/javabean/object.png"));
50         if (typeIcon == null) typeIcon = new javax.swing.ImageIcon JavaDoc(getClass().getResource("/it/businesslogic/ireport/icons/tree/javabean/type.png"));
51        
52         /*
53         this.setOpenIcon(folderOpenedIcon);
54         this.setClosedIcon(folderClosedIcon);
55         this.setLeafIcon(documentIcon);
56          */

57     }
58
59     public Component getTreeCellRendererComponent(
60                         JTree tree,
61                         Object JavaDoc value,
62                         boolean sel,
63                         boolean expanded,
64                         boolean leaf,
65                         int row,
66                         boolean hasFocus) {
67
68         super.getTreeCellRendererComponent(
69                         tree, value, sel,
70                         expanded, leaf, row,
71                         hasFocus);
72             this.setForeground( Color.BLACK);
73             ImageIcon icon = getElementIcon(value);
74             setIcon(icon);
75
76             setToolTipText(null);
77
78         return this;
79     }
80
81     protected ImageIcon getElementIcon(Object JavaDoc value) {
82         DefaultMutableTreeNode node =
83                 (DefaultMutableTreeNode)value;
84         this.setForeground( Color.BLACK);
85                 
86         if (node.getUserObject() != null &&
87             node.getUserObject() instanceof TreeJRField )
88         {
89             TreeJRField tf = (TreeJRField)node.getUserObject();
90             if (tf.getObj() == null || tf.getObj().getName().startsWith("java.lang") || tf.getObj().isPrimitive())
91             {
92                 return typeIcon;
93             }
94         }
95      
96         return objectIcon;
97     }
98 }
99
100
Popular Tags