Hi
I have the following class which i use to make a set of cells look the same as the table header. This worked fine, and the cells appeared exactly as the header. The problem is that now im using a custom look and feel manager and i cant get the cells to be rendered as they would if they table header cells.
Any ideas please ?
Thanks
import javax.swing.JTable;
import javax.swing.JLabel;
import javax.swing.ListCellRenderer;
import java.awt.Component;
import javax.swing.table.JTableHeader;
import javax.swing.UIManager;
import javax.swing.JList;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.DefaultTableCellRenderer;
//this class just renders the rows like the headers
class RowRenderer extends JLabel implements TableCellRenderer {
private DefaultTableCellRenderer iRender = new DefaultTableCellRenderer();
private String[] r = null;
RowRenderer(JTable table,String[] rows) {
JTableHeader header = table.getTableHeader();
//setOpaque(false);
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
setHorizontalAlignment(CENTER);
setForeground(header.getForeground());
setBackground(header.getBackground());
setFont(header.getFont());
r = rows;
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = iRender.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
setText(r[row]);
return this; }
}