下面我有一个方法,调用时应该在列表中显示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
我该如何解决这个问题?
编辑**
如下所示,该模型已被全局化,但是现在在实例化该模型时出现错误:
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);
在swing中,模型被传递给JComponent。
DefaultListModel<String> model = new DefaultListModel<>();
jCustomerList = new JList<String>(model);
model.addElement("Albert Einstein");
...
_(后期的JavaFX具有可观察的数据类型,有点像您想要的绑定。)_
现在,人们既不应该创建新的JList或ListModel。
public void updateList() {
DefaultListModel<String> model = (DefaultListModel<>)jCustomerList.getModel();
model.addElement("Madame Curie");
}
我在中使用带有4.1版本模拟器的android最新版本sdk。一切都很好。但是在我的中,对于任何应用程序的每次运行,我都会得到以下语句。 即使在Hello world应用程序中,我也得到相同的logcat输出。我没有在我的应用程序中使用多线程。有人能告诉我为什么在我的logcat中得到这些日志。 这是我的密码 在我的异步任务中,我从服务器获取JSONArray,解析它并列出。
问题内容: 我试图将ArrayList添加到Jlist,但我给出的唯一理解是编写这样的代码: 让我感到困惑的是,为什么我不能像这样直接将ArrayList直接添加到Jlist中: 提前致谢。 问题答案: 包含“ helper”构造函数的目的是使使用简单数据结构更加容易。 的(和许多Swing组件)实际上是指与提供实际数据视图模型中使用。 原始设计可以追溯到将Swing纳入主库之前(在JDK 1.3
问题内容: 我试图将ArrayList添加到Jlist,但我给出的唯一理解是编写这样的代码: 让我感到困惑的是,为什么我不能像这样直接将ArrayList直接添加到Jlist中: 提前致谢。 问题答案: 包含“ helper”构造函数的目的是使使用简单数据结构更加容易。 的(和许多Swing组件)实际上是指与提供实际数据视图模型中使用。 原始设计可以追溯到将Swing纳入主库之前(在JDK 1.3
我从课本上抄了一个例子,但它拒绝编译。我是不是在什么地方打错了?出于某种原因,在客户端代码中,collections.sort(words)不允许程序编译。任何帮助都很感激。代码复制自Stuart Reges和Marty Stepp的“构建Java程序”第二版。我正试图通过复制来理解它。 该程序应该将一个CalendarDate对象装入一个ArrayList中。通过实现CalendarDate的可
错误:无法找到或加载主类MyGridLayout.MyGridLayout C:\users\home\AppData\local\netbeans\cache\8.2\executor-snippets\run.xml:53:Java返回:1构建失败(总时间:0秒)
上面是vite.config.ts的别名配置 1.测试过别名注释在运行项目会报路径找不到,加上注释页面正常渲染(@符号) import App from "@/App.vue";