如何从ArrayList中删除项目时从JList中删除项目?

时间:2016-12-11 12:10:02

标签: java arraylist jlist

我有一个名为ArrayList的{​​{1}} Objects已归档

slist

(不仅仅是一个Store sitem1 = new Store("Movie", 20.00, 500, 0, 0.00); 。我将sitem sitem打印到JList

toString

当用户从 for (int i = 0; i < customer.slist.size(); i++) { dlm.addElement(customer.slist.get(i).toString());//slist is an array of objects. } checkOutList.setModel(dlm); 中移除某些内容时,我还需要删除相应的Jlist项目。我不知道如何做到这一点。

2 个答案:

答案 0 :(得分:0)

使用getSelectedIndex()获取JList项的索引,然后使用该索引删除ArrayList中的项。确保未选择任何内容getSelectedIndex()将返回-1。

答案 1 :(得分:0)

您需要侦听列表中的click事件,然后从事件中获取所选索引,并相应地修改列表。

您还需要小心,因为修改列表会触发另一个事件,并且您需要确保只处理第一个事件,因此您需要在修改模型时删除侦听器。

这是一个简单的示例,它可以让您不必过多担心我的IDE生成的abc方法。关键是要在initComponents()方法中查看事件监听器:

main