Как насчет простого подкласса JComboBox
и переопределения
public void addItem(Object anObject)
, чтобы придать ему желаемую функциональность?
Вы можете просто сохранить внутренний список элементов синхронизированным с действующим, и всякий раз, когда вы добавляете новый элемент, он может проверить, если size() >= maxItems
, и обрезать наименее последние.
Тогда вы должны найти способ обновить элемент всякий раз, когда он используется. Если его выбор достаточно обновить, вы можете написать ItemListener
, который это делает. В противном случае вам понадобится определенное внешнее действие или наблюдатель / наблюдаемый шаблон.