以下に示す CLOSE 列のセルをレンダリングするために、カスタム CellRenderer (TableCellRenderer のインスタンス) を使用しています。テーブルの 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;
}
}