gpt4 book ai didi

java - 更改 jTable 中行的颜色

转载 作者:行者123 更新时间:2023-12-01 14:30:26 25 4
gpt4 key购买 nike

我有一个 jTable 如下:

enter image description here

我希望当Quantité中的值小于Min seuil de suantité中的值时,将行的颜色更改为粉红色。

在程序的加载中,一切正常,但是当我执行某些事件(例如单击表格)时,即使 Quantité 的值没有变化,所有行的颜色也会发生变化小于 Min seuil de quantité 的值:

enter image description here

这是我的单元格渲染:

public class CustomTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table,
Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(
table, obj, isSelected, hasFocus, row, column);

setHorizontalAlignment(SwingConstants.LEFT);

int selectedRow = table.convertRowIndexToModel(row);
if (table.getModel().getValueAt(selectedRow, 3) != null && table.getModel().getValueAt(selectedRow, 4) != null) {
int quantite = Integer.parseInt(table.getModel().getValueAt(selectedRow, 3).toString());
int minQuantite = Integer.parseInt(table.getModel().getValueAt(selectedRow, 4).toString());
if (quantite < minQuantite) {
if (isSelected) {
cell.setBackground(new Color(255, 138, 239));
} else {
cell.setBackground(new Color(252, 189, 252));
}
}
}
return cell;
}
}

这是允许我影响表格单元格渲染的代码:

private void cellRendering(){
for (int i = 0; i < masterTable.getColumnCount(); i++) {
tcol = masterTable.getColumnModel().getColumn(i);
tcol.setCellRenderer(new CustomTableCellRenderer());
}
}

最佳答案

renderer是一个橡皮图章,记住最后使用的墨水。确保每次调用渲染器时都设置所需的颜色。更多详情可查看here .

关于java - 更改 jTable 中行的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893333/

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