Вы должны использовать индивидуальный TabelCellRenderer
с изображением JList
. Следующий код должен работать.
public class VectorTableCellRenderer extends JList<String> implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if (value instanceof Vector) {
setListData((Vector) value);
}
if (isSelected) {
setBackground(UIManager.getColor("Table.selectionBackground"));
} else {
setBackground(UIManager.getColor("Table.background"));
}
return this;
}
}
EDIT: Как использовать VectorTableCellRenderer
VectorTableCellRenderer renderer = new VectorTableCellRenderer();
//set TableCellRenderer into a specified JTable column class
table.setDefaultRenderer(Vector.class, renderer);
//or, set TableCellRenderer into a specified JTable column
table.getColumnModel().getColumn(columnIndex).setCellRenderer(renderer);
Это мой проверенный выход.
Посмотрите на [это] (https://www.crionics.com/public/swing_examples/SwingExamples.html), смотрите раздел по таблицам. Обратите внимание, что это довольно старый, и API таблицы изменился, поэтому некоторые из них могут не работать или, возможно, некоторые из них будут исправлены. – MadProgrammer
Также рассмотрите ['TablePopupEditor'] (http://stackoverflow.com/a/3591230/230513). – trashgod