1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package net.sf.xframe.swing.table;
22
23 import java.awt.Component;
24
25 import javax.swing.JTable;
26 import javax.swing.UIManager;
27 import javax.swing.table.DefaultTableCellRenderer;
28 import javax.swing.table.JTableHeader;
29
30
31 /***
32 * Default renderer for table headers with column groups.
33 *
34 * @see net.sf.xframe.swing.JXTable
35 *
36 * @author <a href=mailto:kriede@users.sourceforge.net>Kurt Riede</a>
37 */
38 public class DefaultColumnGroupHeaderRenderer extends DefaultTableCellRenderer implements ColumnGroupHeaderRenderer {
39
40 /***
41 * Constructor.
42 */
43 public DefaultColumnGroupHeaderRenderer() {
44 }
45
46 /***
47 * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(
48 * javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
49 */
50 public final Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected,
51 final boolean hasFocus, final int row, final int column) {
52 final JTableHeader tableHeader = table.getTableHeader();
53 if (tableHeader != null) {
54 setForeground(tableHeader.getForeground());
55 setBackground(tableHeader.getBackground());
56 setFont(tableHeader.getFont());
57 }
58 setHorizontalAlignment(0);
59 setText(value != null ? value.toString() : "");
60 setBorder(UIManager.getBorder("TableHeader.cellBorder"));
61 return this;
62 }
63 }