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