将元素添加到comboBox并更新其他元素

时间:2019-03-04 12:50:02

标签: java swing combobox jframe jcombobox

我正在做两个读取和写入相同文件的桌面程序。我们使用一个程序让车辆进入停车场,而另一个程序控制车辆的驶向,它可以计划车辆到达的时间,在我们的情况下,其他事情并不重要。

为了对此有帮助的想法,停车场的门卫使用了第一个程序。该程序仅在车辆到达时和警卫人员进入时注册。

忘记第二个程序的其他功能,该程序可以计划车辆的到来以及车辆在停车时的更多功能。

实际上,我有两个型号相同的comboBox,其中一个在警卫队的程序中 和第二个程序中的另一个。

我现在想要做的是类似“在模型中添加新元素”之类的事,两个模型都会同时更新。我想要的只是在comboBox中添加元素一次。

我认为最好的选择是做一个新类,该类扩展了我使用的DefaultcomboBox模型,但是实现此选项时遇到问题。我知道这两个包都必须可见该类。

    JComboBox comboBox = new JComboBox();
    comboBox.setBounds(218, 44, 146, 20);
    comboBox.setModel(new DefaultComboBoxModel(new String[] {"VOLVO","SEAT","FERRARI","FORD","RENAULT","MERCEDES","BMW"}));
    contentPanel.add(comboBox);

那是我的延伸班级:

public class ComboBoxSetup extends DefaultComboBoxModel {
    String[]elements;
    public ComboBoxSetup(String[]opciones) {
        for(int i=0;i<opciones.length;i++) {
            elements[i]=opciones[i];
        }
    }
    public void addElement(String ele) {
        elements[elements.length]=ele;
    }
}

我想要这样的东西:

JComboBox comboBox = new JComboBox();
        comboBox.setBounds(218, 44, 146, 20);
        comboBox.setModel(new ComboBoxSetup(new String[] {"VOLVO","SEAT","FERRARI","FORD","RENAULT","MERCEDES","BMW"}));
        contentPanel.add(comboBox);

以及单击按钮时的操作选项:

comboBox.addElement(oneElement)

最后要更新带有comboBox的两个类。

遇到此问题时,我实际上是在Eclipse中重新编译项目,并添加元素并重新部署它。我想要的是停止这样做,并避免用户这样做。

我尽力解释了这一点。我认为这不是必须的,但是如果您需要更多代码或更多解释来理解,我会尽快回答。

0 个答案:

没有答案