I have a TableCellRenderer class which extends default.
My code is:
public class TennisTableCellRenderer extends DefaultTableCellRenderer {
protected boolean isSelected = false;
protected Color selectionColor;
public TennisTableCellRenderer() {
super();
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component comp = table.getTableHeader().getDefaultRenderer().getTableCellRendererComponent(table,value,isSelected, hasFocus, row, column);
if (comp instanceof JComponent){
((JComponent)comp).setOpaque(false);
((JComponent)comp).setBorder(BorderFactory.createEmptyBorder(2,1,1,1));
//Color oldCol = table.getSelectionBackground();
//selectionColor = new Color(oldCol.getRed(), oldCol.getGreen(), oldCol.getBlue(), 0); //128);
//((JComponent)comp).setBackground(new Color(0,0,0,0));
}
return comp;
}
//public void paintComponent(Graphics g) {
//if (isSelected) {
// g.setColor(selectionColor);
// g.fillRect(0, 0, getWidth(), getHeight());
//}
// super.paintComponent(g);
//}
What I'm trying to do (which I'm not sure if its possible or not) is on my table header, I get the headings on a grey rectangle bar. I want to keep my headings but make the grey bar transparent.
IS this at all possible? If so, how?
Thanks