英文:
Item Cannot added in to the jList
问题
// 以下是要翻译的内容:
我正在使用Java创建一个简单的库存系统。当我添加产品名称、价格、数量后,点击“添加”按钮,产品信息应该被添加到JList中。但实际上它没有被添加进去,出现了错误。
**java.lang.ClassCastException: 无法将javax.swing.JList$3转换为javax.swing.DefaultListModel**
DefaultListModel model;
String panme = (txtpname.getText());
int price = Integer.parseInt(txtprice.getText());
int qty = Integer.parseInt(txtqty.getText());
int tot = qty * price;
model = (DefaultListModel)jList1.getModel();
model.addElement(new Object[]
{
panme ,
price,
qty,
tot,
});
}
英文:
i am creating simple inventry system in Java.when i add the productname,price,qty click add button product information should added into the JList.how it didn't added. got the Error.
java.lang.ClassCastException: javax.swing.JList$3 cannot be cast to javax.swing.DefaultListModel
DefaultListModel model;
String panme = (txtpname.getText());
int price = Integer.parseInt(txtprice.getText());
int qty = Integer.parseInt(txtqty.getText());
int tot = qty * price;
model = (DefaultListModel)jList1.getModel();
model.addElement(new Object[]
{
panme ,
price,
qty,
tot,
});
}
答案1
得分: 1
如果您创建一个JList
,可以使用空构造函数或使用数组或向量,那么将创建一个只读的ListModel
。
如果您希望能够修改ListModel
,则需要将DefaultListModel
明确添加到JList
中:
JList list = new JList(new DefaultListModel());
然后在您的上述方法中,您将能够将该模型作为DefaultListModel
访问。
话虽如此,您不应该对此使用JList
,因为您正在添加多个属性。相反,您应该使用JTable
,它允许您添加可以按行/列显示的数据。
阅读 Swing 教程中关于如何使用表格的章节,获取更多信息。
英文:
If you create a JList
an empty constructor or using an Array or Vector, then a read only ListModel
is created.
If you want to be able to modify the ListModel
then you need to specifically add a DefaultListModel
to the JList
:
JList list = new JList( new DefaultListModel() );
Then in your above method you will be able to access the model as a DefaultListModel
.
Having said that, you should NOT be using a JList
for this since you are adding multiple properties. Instead you should use a JTable
which allows you to add data that you can display in rows/columns.
Read the section from the Swing tutorial on How to Use Tables for more information.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论