KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > addressbook > gui > table > renderer > DefaultLabelRenderer


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.addressbook.gui.table.renderer;
19
20 import java.awt.Color JavaDoc;
21 import java.awt.Component JavaDoc;
22
23 import javax.swing.BorderFactory JavaDoc;
24 import javax.swing.JLabel JavaDoc;
25 import javax.swing.JTable JavaDoc;
26 import javax.swing.border.Border JavaDoc;
27 import javax.swing.table.TableCellRenderer JavaDoc;
28
29
30 /**
31  * @author fdietz
32  */

33
34 public class DefaultLabelRenderer extends JLabel JavaDoc implements TableCellRenderer JavaDoc {
35     private Border JavaDoc unselectedBorder = null;
36     private Border JavaDoc selectedBorder = null;
37     private Color JavaDoc background;
38     private Color JavaDoc foreground;
39     private boolean isBordered = true;
40
41     /**
42  * Constructor for DefaultLabelRenderer.
43  */

44     public DefaultLabelRenderer() {
45         super();
46     }
47
48     /**
49  * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable,
50  * java.lang.Object, boolean, boolean, int, int)
51  */

52     public Component JavaDoc getTableCellRendererComponent(JTable JavaDoc table, Object JavaDoc value,
53         boolean isSelected, boolean hasFocus, int row, int column) {
54         if (isBordered) {
55             if (isSelected) {
56                 if (selectedBorder == null) {
57                     selectedBorder = BorderFactory.createMatteBorder(2, 5, 2,
58                             5, table.getSelectionBackground());
59                 }
60
61                 //setBorder(selectedBorder);
62
setBackground(table.getSelectionBackground());
63                 setForeground(table.getSelectionForeground());
64             } else {
65                 if (unselectedBorder == null) {
66                     unselectedBorder = BorderFactory.createMatteBorder(2, 5, 2,
67                             5, table.getBackground());
68                 }
69
70                 setBackground(table.getBackground());
71
72                 //setBorder(unselectedBorder);
73
setForeground(table.getForeground());
74             }
75         }
76
77         return this;
78     }
79
80     public boolean isOpaque() {
81         return (background != null);
82     }
83
84     /**
85  * Returns the background.
86  *
87  * @return Color
88  */

89     public Color JavaDoc getBackground() {
90         return background;
91     }
92
93     /**
94  * Returns the foreground.
95  *
96  * @return Color
97  */

98     public Color JavaDoc getForeground() {
99         return foreground;
100     }
101
102     /**
103  * Sets the background.
104  *
105  * @param background
106  * The background to set
107  */

108     public void setBackground(Color JavaDoc background) {
109         this.background = background;
110     }
111
112     /**
113  * Sets the foreground.
114  *
115  * @param foreground
116  * The foreground to set
117  */

118     public void setForeground(Color JavaDoc foreground) {
119         this.foreground = foreground;
120     }
121 }
122
Popular Tags