我渲染了treetable(每个节点都展开)。它是一个静态表,我需要突出显示某些单元格。当我使用jTable的TableCellRenderer执行此操作时,它显示出奇怪的行为。
例如,当有三列时,它会不必要地突出显示第一列中的特定单元格,当有四列时,它会突出显示第一列中的两个特定单元格。我不想突出显示第一列中的任何单元格。我使用以下代码:
public Component prepareRenderer(TableCellRenderer renderer, int index_row, int index_col) {
Component comp = super.prepareRenderer(renderer, index_row, index_col);
comp.setBackground(Color.white);
Object obj1 = getModel().getValueAt(index_row, index_col);
if (!obj1.toString().equals(getModel().getValueAt(index_row, 1))) {
if (obj1.toString().equals(" ")) {
comp.setBackground(Color.red);
} else if (index_col != 0) {
comp.setBackground(Color.green);
}
}
return comp;
}