【发布时间】:2018-02-27 07:46:52
【问题描述】:
我有一个问题,基本上我的程序是这样的: 问题是,它有效,它应该将具有“N”的行着色为绿色,但是第一次加载值时,如您所见,第一行有一些白色,但由于某种原因,如果我单击它修复问题的列表,我需要正确着色行而不需要用户单击列表来修复问题,这是我的渲染代码:
public class Render extends JTable {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int rowIndex,
int columnIndex){
Component componente = super.prepareRenderer(renderer, rowIndex, columnIndex);
String val = getValueAt(rowIndex, columnIndex).toString();
if(val.equals("N")){
componente.setBackground(Color.GREEN);
}
return componente;
}
}
我想我可以使用 Repaint();在 JTable 的 MouseMoved 事件中,但我认为这不是修复它的正确方法......感谢任何帮助,干杯!
【问题讨论】:
-
您是否尝试在填充表格后调用重绘?
-
是的先生,同样的问题,只有当我点击列表时它才会正确绘制。
-
!val.equals("N")时该行应该是什么颜色?