JTableで選択した行の色を強調表示する必要があります。これには独自のCellRendererを使用していますが、機能しますが、別の行を選択しても、前の行は強調表示されたままになります。アイデアは、選択したものだけを青色に保ち、他のものは元の色に保つことです。それに加えて、私はペアの列を作成しています:灰色と非ペア:白なので、これはCellRendererのコードです
private class Renderer extends DefaultTableCellRenderer
{
private static final long serialVersionUID = 1L;
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column)
{
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
int columnIndex = table.getSelectedColumn();
int rowIndex = table.getSelectedRow();
if (columnIndex != -1 && rowIndex != -1){
this.setBackground(Color.BLUE);
} else {
if (row % 2 == 0) this.setBackground(Color.decode("0xF9F9F9"));
else this.setBackground(Color.decode("0xF1F1F1"));
}
return this;
}
}
編集:F1F1F1はほぼ白の色で、F9F9F9F9はちょっと明るい灰色です