создать поле Object[]
имени array
:Почему мой массив JComboBox не обновлен?
private Object[] array;
А потом начать ее измерение и добавить JComboBox
в него в методе A:
array = new Object[14];
array[0] = combo1;
array[1] = combo2;
....
Затем я изменил модель данных этих JComboBox
в способе B, changeCombo
.
private JComboBox<String> changeCombo(String newOption, JComboBox<String> combo, Set<String> data) {
if (combo != null) {
int size = combo.getModel().getSize();
data.add(newOption);
if (size != data.size()){
combo = updateCombo(data);
}
return combo;
}
}
Где updateCombo(data)
является:
private JComboBox<String> updateCombo(Set<String> dataSet) {
JComboBox<String> combo = new JComboBox<String>();
DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>();
model.insertElementAt(Constantes.COMBO_TEXT_TODOS, 0);
for (String s: dataSet) {
model.addElement(s);
}
combo.setModel(model);
combo.setSelectedIndex(0);
combo.addItemListener(new ComboItemListener());
return combo;
}
наконец, я призываю этот массив снова в методе C, только, чтобы найти все JComboBox не имеет никаких данных в нем.
for (int i=0; i<14; i++){
TableColumn col = table.getColumnModel().getColumn(i);
col.setCellEditor(new DefaultCellEditor((JComboBox<String>)(array[i])));
//here I found the data collection in each combo is empty
col.setCellRenderer(new ComboRenderer());
}
Итак, массивы неизменяемы в моем случае? Или эти JComboBox неизменяемы?
Что такое 'combo1' и' combo2', откуда оно взялось? –
Я просто создаю их в первой части, например: 'JComboBox combo1 = new JComboBox();' и т. Д. – FaithReaper
Где находится аргумент 'combo' в методе' changeCombo'? Как это связано с массивом? –