我正在使用自定义 CellRenderer(TableCellRenderer 的一个实例)来呈现下面描述的 CLOSE 列的单元格。我已经为表格的 setSelectionBackGround 设置了一种颜色,但是该列的背景颜色的单元格在选择时不会被绘制。请向我提供任何见解,对此我将不胜感激。
这是我的 TablecellRenderer 类
class LabelRenderer extends JLabel implements TableCellRenderer {
Font f;
Color selectionBG;
Color upDirection;
LabelRenderer(){
super();
f=new java.awt.Font("Trebuchet MS", 0, 12);
selectionBG = new java.awt.Color(204, 255, 255);
upDirection= new Color(0,102,0);
}
@Override
public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
//structure of passing array (value)
// new Object[]{boolean direction, String close (change%)}
Object arr[] = (Object[])value;
Boolean direction = (Boolean)arr[0];
if( direction )
this.setForeground(upDirection);//GREEN
else
this.setForeground(Color.red);
this.setText(arr[1].toString());
this.setFont(f);
return this;
}
}