Итак, я предполагаю, что вы хотите, чтобы пользовательский выбор выполнял какое-то действие, а не просто старое прямое изменение состояния. Это проблема, вызванная ограниченной гибкостью (гибкость всегда будет ограниченной, особенно если у вас есть гибкость в других направлениях).
Мое предложение:
Во-первых, всегда переходите прямо к использованию модели в Swing. Виджеты очень сложны, и вы хотите, чтобы различные проблемы были разделены. К счастью, Swing уже там со своими моделями.
Распространенным шаблоном является делегирование между моделями. Так что в этом случае у вас есть «настоящая» модель по умолчанию, которая содержит ваши данные. Вставить между JComboBox и реальной ComboBoxModel и делегировать ComboBoxModel, который выполняет действия с инструкциями по изменению состояния. Код вашего приложения должен игнорировать JComboBox и идти прямо к реальной ComboBoxModel, минуя делегирующую модель. Итак, на диаграмме:
User -- JComboBox -- ActionComboBoxModel -- DefaultComboBoxModel -- Application code