0

以下に示す 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;
}

}

4

2 に答える 2