У меня есть приложение MVC, написанное на Java, в котором есть форма с тремя выпадающими списками.
год / месяц / день, и я хочу изменить количество дней, если выбор года и месяца изменился.
в моем окне просмотра я просто определяю поля со списком
createComboBoxes( mainContentPage, "combobox name");
в моем контроллере у меня есть:
public class ComboBoxItemListener implements ItemListener
{
private int year=0;
private int month=0;
private int day=0;
public WeatherController c_wc;
@Override
public void itemStateChanged(ItemEvent event)
{
JComboBox comboBox = (JComboBox)event.getSource();
if (event.getStateChange() == ItemEvent.SELECTED)
{
//this area is my problem
if(comboBox.getName() == Helper.COMBOBOX_MONTH || comboBox.getName() == Helper.COMBOBOX_YEAR)
{
//definitely this line is not correct
c_wc.addDaysToComboBox(comboBox, year, month);
comboBox.setEnabled(true);
}
//rest is okay
switch(comboBox.getName())
{
case Helper.COMBOBOX_YEAR:
year = Integer.parseInt(comboBox.getSelectedItem().toString().trim());
break;
case Helper.COMBOBOX_MONTH:
KeyValue<String, Integer> selectedItem = (KeyValue<String,Integer>)event.getItem();
month = Integer.parseInt(selectedItem.getValue().toString());
break;
case Helper.COMBOBOX_DAY:
day = Integer.parseInt(comboBox.getSelectedItem().toString().trim());
break;
case Helper.COMBOBOX_AIRPORT:
break;
}
System.out.println(year + " " + month + " " + day);
}
}}
как я могу изменить другой компонент после запуска другого события?