0
在我之前的问题的答案Coloring jTable row中,但现在我不确定是否有新问题出现,请将颜色设置为行。但我想从循环中给它,意味着我想为第i行设置颜色。我给了我所用,动态着色jTable行
for(int i=0;i<serialNumber;i++){
if((jTable1.getValueAt(i,1).toString()).equals(BidNumber)){
Enumeration<TableColumn> en = jTable1.getColumnModel().getColumns();
while (en.hasMoreElements()) {
TableColumn tc = en.nextElement();
tc.setCellRenderer(new MyTableCellRenderer());
}
}
它会调用该方法的CellRenderer,
public class MyTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setBackground(null);
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
boolean interestingRow = row ==1;
if (interestingRow) {
setBackground(Color.YELLOW);
}
return this;
}
}
在这里,我试图把颜色行时第一列的值等于BidNumber ,但在cellrenderer(这里),它设置为行== 1,然后每次当条件为真时,第一行将被着色......如何将它设置为第i行?
你的意思是要提供由'行更换条件'行== == 1'定义i'
n
? – 2012-07-19 10:14:14是的。我想为第i行设置颜色 – Luna 2012-07-19 10:15:03
那么这里有什么问题?有什么阻止你这么做? – 2012-07-19 10:17:03