01: /*
02: * CheckBoxTableCellRenderer.java
03: *
04: * Copyright (C) 2002, 2003, 2004, 2005, 2006 Takis Diakoumis
05: *
06: * This program is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU General Public License
08: * as published by the Free Software Foundation; either version 2
09: * of the License, or any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * 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, write to the Free Software
18: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19: *
20: */
21:
22: package org.underworldlabs.swing.table;
23:
24: import java.awt.Component;
25: import javax.swing.JCheckBox;
26: import javax.swing.JLabel;
27: import javax.swing.JTable;
28: import javax.swing.table.TableCellRenderer;
29:
30: /* ----------------------------------------------------------
31: * CVS NOTE: Changes to the CVS repository prior to the
32: * release of version 3.0.0beta1 has meant a
33: * resetting of CVS revision numbers.
34: * ----------------------------------------------------------
35: */
36:
37: /**
38: *
39: * @author Takis Diakoumis
40: * @version $Revision: 1.4 $
41: * @date $Date: 2006/05/14 06:56:07 $
42: */
43: public class CheckBoxTableCellRenderer extends JCheckBox implements
44: TableCellRenderer {
45:
46: /** Creates a new instance of CheckBoxTableCellRenderer */
47: public CheckBoxTableCellRenderer() {
48: setHorizontalAlignment(JLabel.CENTER);
49: }
50:
51: public Component getTableCellRendererComponent(JTable table,
52: Object value, boolean isSelected, boolean hasFocus,
53: int row, int column) {
54:
55: if (isSelected) {
56: setForeground(table.getSelectionForeground());
57: setBackground(table.getSelectionBackground());
58: } else {
59: setForeground(table.getForeground());
60: setBackground(table.getBackground());
61: }
62: setSelected((value != null && ((Boolean) value).booleanValue()));
63: return this;
64: }
65:
66: }
|