KickJava   Java API By Example, From Geeks To Geeks.

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


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  * TextAreaCellRenderer.java
28  *
29  * Created on September 21, 2006, 12:35 AM
30  *
31  */

32
33 package it.businesslogic.ireport.gui;
34
35 import java.awt.Color JavaDoc;
36 import java.awt.Component JavaDoc;
37 import javax.swing.JList JavaDoc;
38 import javax.swing.JTextPane JavaDoc;
39 import javax.swing.ListCellRenderer JavaDoc;
40 import javax.swing.text.Style JavaDoc;
41 import javax.swing.text.StyleConstants JavaDoc;
42 import javax.swing.text.StyledDocument JavaDoc;
43 import javax.swing.text.DefaultStyledDocument JavaDoc;
44
45 public class TextAreaCellRenderer extends JTextPane JavaDoc implements ListCellRenderer JavaDoc {
46         private Color JavaDoc selectionBackground;
47         private Color JavaDoc background;
48         
49         // Create a style object and then set the style attributes
50
Style JavaDoc methodStyle = null;
51         Style JavaDoc returnTypeStyle = null;
52
53         public TextAreaCellRenderer(JList JavaDoc list) {
54             super();
55             selectionBackground = list.getSelectionBackground();
56             background = list.getBackground();
57             StyledDocument JavaDoc doc = new DefaultStyledDocument JavaDoc();
58             this.setDocument( doc );
59             methodStyle = doc.addStyle("methodStyle", null);
60             StyleConstants.setBold(methodStyle, true);
61             returnTypeStyle = doc.addStyle("returnType", null);
62             StyleConstants.setForeground(returnTypeStyle, Color.gray);
63         }
64         public Component JavaDoc getListCellRendererComponent(JList JavaDoc list, Object JavaDoc object,
65                 int index, boolean isSelected, boolean cellHasFocus) {
66             
67             String JavaDoc s = (String JavaDoc)object;
68             this.setText("");
69             StyledDocument JavaDoc doc = (StyledDocument JavaDoc)this.getDocument();
70             try {
71             doc.insertString(doc.getLength(), s.substring(0, s.indexOf("(")), methodStyle);
72             doc.insertString(doc.getLength(), s.substring(s.indexOf("("), s.lastIndexOf(")")+1), null);
73             doc.insertString(doc.getLength(), s.substring(s.lastIndexOf(")")+1), returnTypeStyle);
74             } catch (Exception JavaDoc ex){}
75             setBackground(isSelected ? selectionBackground : background);
76             return this;
77         }
78     }
79
80
Popular Tags