gpt4 book ai didi

java - 比较单元格中的 2 个值并更改 JTable 中的单元格颜色

转载 作者:行者123 更新时间:2023-11-30 06:54:46 25 4
gpt4 key购买 nike

所以我想比较表中同一行(“初始目标”和“结果目标”)中 2 个单元格的 2 个值,如果值不相同,“结果目标”列上的单元格将变为红色的,但我的代码将所有单元格变为红色,结果如下:

result

这是我的期望:

Expected

这是我的代码:

tblResult = new JTable(tableModel) {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
Component comp = super.prepareRenderer(renderer, row, col);
Object value1 = getModel().getValueAt(row, 2);
Object value2 = getModel().getValueAt(row, 1);
if (value1!=value2) {
comp.setBackground(Color.red);
}
else {
comp.setBackground(Color.white);
}
return comp;
}
};

最佳答案

如果你正在执行 if (value1 != value2) 你只是检查 value1value2 是否有相同的引用,在这里他们不要这样,这个比较将始终返回 true

您可以做的是将这些对象转换为 String 或 Integer,如下所示:

String value1 = (String) getModel().getValueAt(row, 2);
String value2 = (String) getModel().getValueAt(row, 1);

然后按如下方式进行比较:

if (!value1.equalsIgnoreCase(value2)) {}

关于java - 比较单元格中的 2 个值并更改 JTable 中的单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36030081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com