我有一個包含兩列的自定義表模型的表。列0是一個ImageIcon類,列1是一個String類。Java JTable帶有ImageIcon的TableCellRenderer列
public Class<?> getColumnClass(int col) {
if (col == 0) {
return ImageIcon.class;
} else {
return String.class;
}
}
當我定義一個新的TableCellRenderer類被添加到列,所以我可以樣式細胞,它覆蓋的ImageIcon類並將它設置爲一個字符串。
public class CustomTableCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent (JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int
column)
{
Component cell = super.getTableCellRendererComponent(table,
obj, isSelected, hasFocus, row, column);
if(isSelected)
cell.setBackground(Color.BLUE);
return cell;
}
}
有關如何解決此問題的任何想法?
我的錯誤,它是那種隱藏:
當我定義一個新的TableCellRenderer類被添加到列,所以我可以樣式化細胞,它覆蓋的ImageIcon類並將其設置爲一個字符串。
所以問題是,當我定義這個類的TableCellRenderer的風格我的表,我的表輪到像字符串的ImageIcon列「文件:......」,而不是實際的圖標。
我很抱歉,但似乎你沒有問過這個問題。你剛剛解釋了你在做什麼。請解釋這個問題。怎麼了?什麼不行? – AlexR 2010-12-01 07:39:08
你確定它是你所看到的渲染器而不是編輯器嗎?這種數字顯示是針對所有單元格發生的,還是僅針對具有焦點並正在編輯的單元格?如果是後者,你可能需要擺弄單元格編輯器。 – 2010-12-01 07:45:50