JTable从彼此相邻的相同值列中删除值

时间:2017-05-22 13:06:13

标签: java swing jtable

在JTable中,如何检测DefaultTableCellRenderer getTableCellRendererComponent中彼此相邻且具有相同值的行中的所有单元格?我需要从除中心之外的所有人中删除所述值..我试过

if(table.getValueAt(row, column-1) == value && table.getValueAt(row, column+1) == value) {
    setValue("K")
}

确保我至少可以检测到中心,但只有当3个单元格具有相同的值时才有效..我需要更多

2 个答案:

答案 0 :(得分:0)

if(table.getValueAt(row, column-1) == value && table.getValueAt(row, column+1) == value) {
    //add this
    for (int i = column; table.getValueAt(row, i) == value; i++)
        setValue("K");
}

您正在更改值并在之后进行比较,因此条件仅触发一次。

答案 1 :(得分:0)

您可以遍历整行并检查每一行是否与您想要的值相同:

boolean same = true;
for (int col = 0; col < columnCount; col++) {
    if (table.getValueAt(row, col ) != value) {
         same = false;
         break;
    }
}
if (same) {
    setValue("K");
}