01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * 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: * MissingResourceCellRenderer.java
28: *
29: * Created on March 27, 2006, 8:39 PM
30: *
31: */
32:
33: package it.businesslogic.ireport.plugin.locale;
34:
35: import it.businesslogic.ireport.plugin.locale.ResourceKey;
36: import java.awt.Color;
37: import java.awt.Component;
38: import javax.swing.JLabel;
39: import javax.swing.JTable;
40: import javax.swing.table.TableCellRenderer;
41:
42: /**
43: *
44: * @author gtoffoli
45: */
46: public class MissingResourceCellRenderer extends JLabel implements
47: TableCellRenderer {
48:
49: /** Creates a new instance of ProgressBarCellRenderer */
50: public MissingResourceCellRenderer() {
51: super ();
52:
53: }
54:
55: public Component getTableCellRendererComponent(JTable table,
56: Object value, boolean isSelected, boolean hasFocus,
57: int row, int column) {
58:
59: boolean isMissing = false;
60: if (value instanceof ResourceKey) {
61: ResourceKey rk = (ResourceKey) value;
62: isMissing = rk.isMissing();
63: }
64: if (!isSelected) {
65: setForeground(((isMissing) ? Color.RED : table
66: .getSelectionForeground()));
67: setBackground(table.getSelectionBackground());
68: } else {
69: setForeground(((isMissing) ? Color.RED : table
70: .getForeground()));
71: setBackground(table.getBackground());
72: }
73:
74: if (value == null)
75: setText("");
76: else
77: setText("" + value);
78: this.updateUI();
79: return this;
80: }
81:
82: }
|