Problem with TableCellRenderer
Hello Experts,
I have created a class CustomTableCellRenderer which extends DefaultTableCellRenderer for coloring of some rows in Table. this class looks like
package gui;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
publicclass CustomTableCellRendererextends DefaultTableCellRenderer{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected,boolean hasFocus,int row,int column){
Component cell = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
if(table.getSelectedRow() == row){
cell.setBackground(new Color(0xFF, 0xFF, 0x75));
}elseif(table.getRowCount() - 1 == row){
cell.setBackground(new Color(0, 0xA0, 0xFF));
}else{
cell.setBackground(Color.white);
}
return cell;
}
}
And in my main program I have created a table. and I set the DefaultCellRenderer to the above class
TableCellRenderer renderer =new CustomTableCellRenderer();
try{
table.setDefaultRenderer(Class.forName("java.lang.String"),
renderer);
}catch(ClassNotFoundException ex){
System.exit(0);
}
Since the defaultcellrenderer is set to CustomCellRenderer, the getTableCellRendererComponent of CustomCellRenderer should be called right? But it is not happening. When I debugged, the getTableCellRendererComponent of DefaultCellRenderer is getting called. The flow is not entering CustomCellRenderer. Any reasons why?
And where i should change in my code to make it work as I desire?
Thanks for your response in advance.
Regards
Irfaan

