У меня есть следующий метод.
DefaultListModel getModelForCabin(Cabin cabin) {
List<Camper> listAdded= new ArrayList<Camper>(getOrCreateGroup(cabin));
DefaultListModel<Camper> dfm= new DefaultListModel<Camper>();
for(Camper c: listAdded){
if(!dfm.contains(c)){
dfm.addElement(c);
}
}
//System.out.println(listAdded);
//System.out.println(dfm);
return dfm;
}
Затем я устанавливаю этот метод в JList следующим образом ...
JList list = new JList(getModelForCabin((Cabin)comboBox.getSelectedItem()));
scrollPane_1.setViewportView(list);
В методе, если я печатаю dfm и listAdded, как показано в строке системной печати, он показывает оба.
Если я наберу это ...
System.out.println(getModelForCabin((Cabin)comboBox.getSelectedItem());
Она также печатает модель.
Что он не будет делать, так это добавить модель в JList. Я попытался изменить код, удалить JList и создать новый, а также реорганизовать код.
Что бы я ни делал, это не сработает.
Итак, мой список печатается нормально, мой DefaultListModel печатается нормально, мой HashMap, который печатает Cabin и Campers, работает нормально, но JList не будет печатать модель.
Добавлено:
JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setBounds(361, 205, 296, 339);
getContentPane().add(scrollPane_1);
list = new JList(getModelForCabin((Cabin)comboBox.getSelectedItem()));
scrollPane_1.setViewportView(list);