Ваш код недействителен с точки зрения синтаксиса.
foo
представляется массивом Array
объектов, вы уверены, что используете комбинированный список из массива Array
объектов?
У вас есть JComboBox.removeAllItems();
, это недопустимо, поскольку у класса JComboBox
нет статического метода с именем removeAllItems()
.
Внутри цикла вы используете JComboBox.addItem(foo[i]);
, это снова недопустимо по аналогичной причине, объясненной выше, у класса JComboBox
нет статического метода с именем addItem()
.
Допустимый метод может быть таким:
String[] oldValues = new String [5];
JComboBox comboBox = new JComboBox(oldValues);
public void changeChoices ( String [] newValues )
{
comboBox.removeAllItems();
for( int i = 0; i < newValues.length; i++ )
comboBox.addItem( newValues [ i ] );
}
И последнее, но не менее важное, если вы удаляете все значения из комбинированного списка и добавляете совершенно новые,тогда вы должны обрабатывать их соответствующие события в вашем коде.Возможно, вы добавляете ItemListener
к вашему списку и реализуете события выбранного элемента в методе itemStateChanged(ItemEvent event)
.Таким образом, вы должны реализовать то, что произойдет, если в поле со списком будет выбрано новое добавленное значение.Надеюсь, этот пост полезен и имеет смысл.