2011-10-23 44 views
1

我想換行的顏色,所以我創造我自己的單元格渲染器:如何設置行的顏色,並添加圖像的細胞

@Override 
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, 
     boolean hasFocus, int row, int column) { 

    if (row % 2 == 1) { 
     setBackground(new Color(245, 245, 245)); 
    } 
    if (row % 2 == 0) { 
     setBackground(Color.white); 
    } 

    setHorizontalAlignment(JLabel.CENTER); 
    return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 
} 

,直到我要添加圖像的細胞,所以我重寫此工作正常方法在表中:

@Override 
    public Class getColumnClass(int column) { 
     if (column == 4) { 
      return ImageIcon.class; 
     } 
     return Object.class; 
    } 

現在第四列仍然是白色,不會改變顏色。

我怎樣才能同時實現所有這些事情?

THX的提醒

+0

你如何設置JTable的默認渲染器?我們能否看到將渲染器添加到表或列的代碼? –

回答

3

我想改變顏色

Table Row Rendering顯示了一個簡單的方法。您不需要自定義渲染器。但你仍然需要重寫getColumnClass()方法來顯示你的圖標。