我能夠設置列的標題,但無法在JTable第一列的所有行中設置圖標。如何在JTable列中設置圖標?
public class iconRenderer extends DefaultTableCellRenderer{
public Component getTableCellRendererComponent(JTable table,Object obj,boolean isSelected,boolean hasFocus,int row,int column){
imageicon i=(imageicon)obj;
if(obj==i)
setIcon(i.imageIcon);
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
setHorizontalAlignment(JLabel.CENTER);
return this;
}
}
public class imageicon{
ImageIcon imageIcon;
imageicon(ImageIcon icon){
imageIcon=icon;
}
}
和下方在我BuildTable()方法行。
public void SetIcon(JTable table, int col_index, ImageIcon icon){
table.getTableHeader().getColumnModel().getColumn(col_index).setHeaderRenderer(new iconRenderer());
table.getColumnModel().getColumn(col_index).setHeaderValue(new imageicon(icon));
}
我們怎樣才能把它的第一列的所有行?我已經嘗試過for循環,但沒有得到行重複設置圖標。或者還有其他方法嗎?
這段代碼現在做了什麼?它有什麼特別的錯誤。 – jzd 2011-04-10 21:39:28
imageicon類還有什麼意義。只需將圖像存儲在該列中,並直接使用它,而不是處理這個其他類。 – jzd 2011-04-10 21:40:35
它只是設置列的標題。但要將圖標放在第一列的所有行中。 – bsm 2011-04-10 21:40:49