gpt4 book ai didi

java - 将颜色更改为 JTable 中未选中的行

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:30:15 24 4
gpt4 key购买 nike

我需要突出显示 JTable 中选定行的颜色。我正在为此使用我自己的 CellRenderer,它可以工作,但是当我选择另一行时,前一行仍然突出显示。这个想法是只保留选定的蓝色,并保留其他颜色的原始颜色。另外我正在制作成对列:灰色和非成对:白色,所以这是 CellRenderer 的代码

private class Renderer extends DefaultTableCellRenderer
{
private static final long serialVersionUID = 1L;
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column)
{
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);

int columnIndex = table.getSelectedColumn();
int rowIndex = table.getSelectedRow();

if (columnIndex != -1 && rowIndex != -1){
this.setBackground(Color.BLUE);
} else {
if (row % 2 == 0) this.setBackground(Color.decode("0xF9F9F9"));
else this.setBackground(Color.decode("0xF1F1F1"));
}
return this;
}
}

编辑:F1F1F1 是一种接近白色的颜色,F9F9F9F9 是一种浅灰色

最佳答案

在从方法返回之前,您应该添加类似下面的代码:

if (!isSelected) {
setBackground(...);
}

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

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