JComboBox не показывает результаты - PullRequest
0 голосов
/ 19 декабря 2010

Я пытаюсь установить значения в JCombobox, основываясь на цикле for и if, на массиве.

     //salesman=the name of the combobox
    salesman = new javax.swing.JComboBox();

DefaultComboBoxModel model = new DefaultComboBoxModel();
 salesman.setModel(model);

/*company is an object of Company class, that gets set with a setter method to ensure 
that the gui will be pointing to the right object. and it does contains the data i want, so 
i am sure that company is not the problem */       
//loop tp set box list 
for (Employee current : company.getArray()){

 if (current instanceof Salesman) {
   salesman.addItem(current.getCode());
  }

}

, но выпадающий список остается пустым.почему это?

Ответы [ 5 ]

2 голосов
/ 19 декабря 2010

В любом случае, я бы предложил вам следующее:

  1. Переопределить toString () метод Продавец должен иметь желаемое визуальное представление (например, код ).

  2. Добавить продавцов, а не коды в поле со списком модель .

1 голос
/ 19 декабря 2010

Добавить элементы к модели, а не напрямую в ComboBox. Также используйте рекомендации barti_ddu.

0 голосов
/ 19 декабря 2010

ОК ПРОБЛЕМА РЕШЕНА! я просто добавил в конструктор класса объект класса Company, который устанавливается с помощью setCompany.

0 голосов
/ 19 декабря 2010

Если вы просто добавите несколько тестовых строк в JComboBox, отображаются ли они?

Если они есть, возможно, что-то не так с методом .getCode ().

Также попробуйте удалитьDefaultComboBoxModel, потому что это не обязательно.

0 голосов
/ 19 декабря 2010

Вы добавляете комбинированный список в его родительский контейнер?

Приведенный выше код должен работать нормально, если есть несколько экземпляров Salesman.

Вы говорите, что уверены, что компания не является объектом, но проверили, что вы на самом деледобавление в ComboBoxModel?Кроме того, вам не нужно создавать свою собственную DefaultcomboBoxModel, поскольку вы получаете ее «бесплатно» с JComboBox

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...