Я пытаюсь выполнить действие всякий раз, когда изменяется выбранный элемент в поле со списком. один конкретный сценарий, когда прослушиватель действий не уведомлен, - это когда вы сбрасываете модель в поле со списком. Я могу подписаться с другим PropertyChangedListener
и слушать, когда изменяется модель, а затем извлекать выбранный элемент, но я просто не понимаю, почему событие изменения выбранного элемента не возникает при изменении модели. визуально ваш выбор меняется, даже если вы запрашиваете cobox для выбранного элемента, он меняется с null
на какой-то объект... Любое четкое решение для этого, а не использование двух отдельных слушателей?
Jcombobox - подписаться на событие selectedItemChanged
comment
Вы пытались использовать прослушиватель элементов вместо прослушивателя действий?
- person Jakub Zaverka   schedule 04.12.2012
Ответы (1)
Если прослушиватели действий и элементов не запускают события при сбросе модели, вы можете запустить это событие самостоятельно, создав подкласс JComboBox:
public class MyComboBox extends JComboBox
{
@Override
public void setModel(ComboBoxModel aModel) {
super.setModel(aModel);
fireActionEvent();
}
}
Но ИМХО это ошибка - вы должны сообщить об этом официальному багзилле.
person
Jakub Zaverka
schedule
04.12.2012
это подойдет, но я думаю, что я буду придерживаться обычного свойстваChangedListenr
- person Bober02; 04.12.2012