Вы можете установить ListCellRenderer
.
По сути, вы пишете функцию
public Component getListCellRendererComponent(JList<?> list,
Object value, int index, boolean isSelected, boolean cellHasFocus)
, которая возвращает Component
. Чтобы упростить задачу, вы можете расширить DefaultListCellRenderer
и вызвать его реализацию после того, как вы извлекли значение, которое вы хотите отобразить из элемента списка, т.е.
{
if (value instanceof YourClass) {
YourClass ob = (YourClass) value;
return super.getListCellRendererComponent(list, ob.getProperty(), index, isSelected, cellHasFocus);
}
return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
}
Затем вы установите ваш рендерер на ваш elementList
.