Java TableCellRenderer显示奇怪的行为

时间:2012-07-18 14:24:49

标签: java swing jtable tablecellrenderer jide

我渲染了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;
}

0 个答案:

没有答案