我正在用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();


秒代码:

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

                    }
                }
            }
        }
    });

10-07 23:52