может быть ImageIcon, String или оба.
Вам нужно будет создать пользовательский объект для хранения в TableModel. Этот объект будет содержать два свойства:
- текст
- значок
Затем вам нужно будет создать пользовательский рендерер (не использовать рендерер по умолчанию) для отображения этого объекта.
Пользовательский рендер может выглядеть примерно так:
class CustomRenderer extends DefaultTableCellRenderer
{
public CustomRenderer()
{
super();
setHorizontalTextPosition(JLabel.CENTER);
setHorizontalAlignment(JLabel.CENTER);
}
@Override
public Component getTableCellRendererComponent(
JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
CustomObject custom = (CustomObject)value;
setText( custom.getText() );
setIcon( custom.getIcon() );
return this;
}
}