两个组合框在java中同步

两个组合框在java中同步,java,eclipse,swing,combobox,sync,Java,Eclipse,Swing,Combobox,Sync,我正在用java(eclipse)创建一个应用程序,我遇到了一个问题。我需要两个同步的两个组合框。用户从第一个组合框中选择一个公司,然后第二个组合框将装满所选公司的员工。如果我再次选择另一个公司,第二个组合框将装满新选定公司的员工。我的问题是,当我尝试选择另一家公司时,与员工的第二个组合框不同步..有什么解决方案/建议吗 拳头代码: JComboBox comboBox = new JComboBox(); comboBox.setBounds(53, 53, 280, 20);

我正在用java(eclipse)创建一个应用程序,我遇到了一个问题。我需要两个同步的两个组合框。用户从第一个组合框中选择一个公司,然后第二个组合框将装满所选公司的员工。如果我再次选择另一个公司,第二个组合框将装满新选定公司的员工。我的问题是,当我尝试选择另一家公司时,与员工的第二个组合框不同步..有什么解决方案/建议吗

拳头代码:

JComboBox comboBox = new JComboBox();
        comboBox.setBounds(53, 53, 280, 20);
        epiloghEtairiasGiaPanel.add(comboBox);
        for(int i=0;i<c.getEtairies().size();i++){
            comboBox.addItem(c.getEtairies().get(i).getName());
        }
         String name = comboBox.getSelectedItem().toString();
JComboBox组合框=新建JComboBox();
组合框.立根(53,53,280,20);
结语:添加(组合框);

对于(inti=0;i,您需要添加一个侦听器来“侦听”选择更改

    comboBox.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

            String name = comboBox.getSelectedItem().toString();
            for (int i = 0; i < c.getEtairies().size(); i++) {
                if (c.getEtairies().get(i).getName().equals(name)) {
                    for (int j = 0; j < c.getEtairies().get(i).getErgazomenoi().size(); j++) {

                        comboBox_1.addItem(c.getEtairies().get(i).getErgazomenoi().get(j).getSurname());

                    }
                }
            }
        }
    });
comboBox.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件e){
字符串名称=comboBox.getSelectedItem().toString();
for(int i=0;i
您所说的“当我尝试选择另一家公司时,第二个组合框与员工不同步”到底是什么意思?您的意思是,在第一个组合框中选择一家公司后,第二个组合框中没有填充与第一个组合框相关联的员工吗?是的,这是正确的。让我们试一试!
    comboBox.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

            String name = comboBox.getSelectedItem().toString();
            for (int i = 0; i < c.getEtairies().size(); i++) {
                if (c.getEtairies().get(i).getName().equals(name)) {
                    for (int j = 0; j < c.getEtairies().get(i).getErgazomenoi().size(); j++) {

                        comboBox_1.addItem(c.getEtairies().get(i).getErgazomenoi().get(j).getSurname());

                    }
                }
            }
        }
    });