Было бы полезно посмотреть, как выглядит ваш TableModel
, так как мы могли бы дать вам идеи, которые предложат минимальные изменения в вашем текущем дизайне. Однако одним из решений будет создание пользовательского объекта данных, который будет представлять строку в вашей таблице, и ваш TableModel
будет использовать его для предоставления правильных данных для каждого столбца, включая изображение, которое вы отображаете в настоящее время.
редактировать:
в основном у меня есть таблица с одним столбцом и DefaultTableModel с двумя столбцами. Я бы хотел, чтобы отображался только первый столбец модели.
Я бы посоветовал вам создать свой собственный TableModel
, расширив AbstractTableModel
. Для этого вам просто нужно реализовать три метода:
public int getRowCount();
public int getColumnCount();
public Object getValueAt(int row, int column);
Затем вы можете предоставить вспомогательную коллекцию, такую как List
, для хранения данных вашей строки. Ваш getRowCount()
может вернуть размер списка, ваш getColumnCount()
может вернуть 1
для вашего столбца изображения. getValueAt()
будет затем возвращать изображение из объекта пользовательских данных, о котором я упоминал выше.