Я сделал это. Вот что я сделал для всех, кому нужно то же самое:
1) Я создал JScrollTableRenderer и установил столбец, необходимый для отображения JList для использования этого средства визуализации
table.getColumnModel().getColumn(5).setCellRenderer(new JScrollTableRenderer());
Содержание класса JScrollTableRenderer:
public class JScrollTableRenderer extends DefaultTableCellRenderer {
JScrollPane pane = new JScrollPane();
public JScrollTableRenderer()
{
super();
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column)
{
pane = (JScrollPane) value;
return pane;
}
}
2) Я создал JScrollTableEditor и установил столбец, необходимый для отображения JList для использования этого редактора
table.getColumnModel().getColumn(5).setCellEditor(new JScrollTableEditor());
Содержимое класса JScrollTableEditor:
public class JScrollTableEditor extends AbstractCellEditor implements TableCellEditor {
JScrollPane component = new JScrollPane();
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
int rowIndex, int vColIndex)
{
component = ((JScrollPane) value);
return ((JScrollPane) value);
}
public Object getCellEditorValue()
{
return component;
}
}
3) Я добавил этот метод в модель JTable:
public Class<? extends Object> getColumnClass(int c)
{
if(c == 5) return JScrollPane.class;
else return getValueAt(0, c).getClass();
}