java - 如何在更改另一个组合框项目选择后更改组合框的数据?

标签 java swing event-handling jcombobox comboboxmodel

我有一个用 java 编写的 MVC 应用程序,它有一个包含三个组合框的表单。 年/月/日,如果年和月的选择发生变化,我想更改天数。 在我的查看器中,我只定义了组合框

createComboBoxes( mainContentPage, "combobox name");

在我的 Controller 中我有:

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);
    }
}}

如何在触发其他事件后更改另一个组件?

最佳答案

您可以更改依赖组合的模型,如本 example 所示.

或者,考虑 JCalendar .

关于java - 如何在更改另一个组合框项目选择后更改组合框的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683612/

相关文章:

java - Runnable Jar -> 命令行参数的帮助函数

java - 如何删除 jtextfield、jbutton 和 raisebevel 边框之间的空间

javascript - 简单的 javascript JS 事件处理程序无法正常工作

java - 在使用 DLL 之前是否需要启用 Java Access 桥?

java - 如何格式化字符串以显示两位小数

java - ivy 对外部 JAR 的依赖

java - 从 TableModel 获取 JTable

java - 如何让自定义绘制组件显示在 swing GUI JPanel 中?

javascript - 在 Firefox 中按键不触发

jquery - 阻止 Firefox 中 jQuery keydown 的默认事件