Синхронизация двух комбинированных списков в Java

1

Я создаю приложение в java (eclipse), и у меня есть проблема. Я хочу, чтобы две синхронизирующие две comboboxes.. пользователь выбирает компанию из первого, а после этого второй заполняется сотрудниками выбранной компании..если я снова выбираю другую компанию, вторая сборная будет заполнена новыми избранными сотрудниками компании. Моя проблема в том, что когда я пытаюсь выбрать другую компанию, вторая сборная с сотрудниками не синхронизируется. Любое решение/предложение?!

код кулака:

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

            }

            }
        }
  • 0
    Что именно вы подразумеваете под «когда я пытаюсь выбрать другую компанию, второй список со служащими не синхронизируется?» Вы имеете в виду, что после выбора компании в первом поле со списком, второе поле со списком не заполняется сотрудниками, связанными с первым списком?
  • 0
    да это точно
Теги:
combobox
swing
sync

1 ответ

2
Лучший ответ

Вам нужно добавить слушателя, который "прослушивает" изменения выбора

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

                    }
                }
            }
        }
    });
  • 0
    xipo ты лес? давай попробуем!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню