У меня есть ниже метод, который должен отображать атрибуты элементов arrayList в списке при вызове:
public void updateList(){
DefaultListModel<String> model = (DefaultListModel<String>)jCustomerList.getModel();
for(User user: theUserList.Users){
model.addElement(user.getName());
jCustomerList.setModel(model);
}
}
однако при его вызове появляется следующая ошибка:
Исключение в потоке " AWT-EventQueue-0 "java .lang.ClassCastException: supermarketiteration2.ShopJFrame $ 63 нельзя преобразовать в javax.swing.DefaultListModel
Как мне решить эту проблему?
EDIT **
Модель сделана глобальной, как показано ниже, однако теперь возникает ошибка при создании экземпляра модели:
public class ShopJFrame extends javax.swing.JFrame {
private UserList theUserList;
private User currentCustomer;
private Customer castedCustomer;
private SupplierList theSupplierList;
private DeliveryCompanyList theDeliveryCompanyList;
private ProductList theProductList;
private Product selectedProduct;
private Supplier aSupplier;
private DeliveryCompany aDeliveryCompany;
//private JList jCustomerList;
private java.awt.Component jTabInMemory1;
private java.awt.Component jTabInMemory2;
private java.awt.Component jTabInMemory3;
private java.awt.Component jTabInMemory4;
private java.awt.Component jTabInMemory5;
private java.awt.Component jTabInMemory6;
DefaultListModel<String> model;
public ShopJFrame() throws IOException, FileNotFoundException, ParseException {
initComponents();
theUserList = new UserList();
User currentCustomer = new Customer();
Customer castedCustomer = null;
theDeliveryCompanyList = new DeliveryCompanyList();
aDeliveryCompany = new DeliveryCompany();
theSupplierList = new SupplierList();
aSupplier = new Supplier();
theProductList = new ProductList();
jTabInMemory1 = jMainTabbedPane.getComponent(1);//PRODUCTS
jMainTabbedPane.remove(1);
jTabInMemory2 = jMainTabbedPane.getComponent(1);//REORDER
jMainTabbedPane.remove(1);
jTabInMemory3 = jMainTabbedPane.getComponent(1);//SUPPLY CHAIN
jMainTabbedPane.remove(1);
jTabInMemory4 = jMainTabbedPane.getComponent(1);//CATALOGUE
jMainTabbedPane.remove(1);
jTabInMemory5 = jMainTabbedPane.getComponent(1);//MY ACCOUNT
jMainTabbedPane.remove(1);
jTabInMemory6 = jMainTabbedPane.getComponent(1);//MY ACCOUNT
jMainTabbedPane.remove(1);
theProductList.loadFromFile(theProductList.getFilename());
theSupplierList.loadFromFile();
theDeliveryCompanyList.loadFromFile();
theUserList.loadFromFile();
theProductList.displayReorders(jProductReorderTextArea);
this.updateComboBox("Supplier");
this.updateComboBox("Delivery Company");
this.updateComboBox("Products");
model = (DefaultListModel<String>)jCustomerList.getModel();
jCustomerList.setModel(model);