如何制作包含不同类型数据的JTable列? (某些单元格包含图像,某些单元格包含文本)
像这样:
我尝试制作CellRenderer,但它不起作用。
col.setCellRenderer(new DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if (value instanceof ImageIcon) {
ImageIcon img = (ImageIcon) value;
setIcon(img);
setHorizontalAlignment(JLabel.CENTER);
}
else {
setValue(value);
}
return this;
}
});
它给了我这个奇怪的输出:
如果没有渲染器,它会输出文本和数字,但不会显示图像:
答案 0 :(得分:4)
上次关于ColumnClass
的screen_shots设置不正确或尚未设置
在getColumnClass
中使用Icon/ImageIcon.Class
覆盖XxxTabelModel
,
然后你的Renderer
似乎没用了
答案 1 :(得分:2)
JTable有一个默认的渲染器来渲染ImageIcon。
有关此内容的更多信息: http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#editrender