我正在用Java开发一个应用程序来发送短信。它使用PIM
库来获取手机联系人并使用CheckBox列表显示它。用户可以选择多个联系人。
我使用Vector
来存储list.getSelectedItem()
上使用ActionEvent
获得的所选元素。这种方法的问题在于,当用户取消选择项目时,无法删除该项目。
有没有简单的方法可以从Vector
中删除取消选择的项目。
答案 0 :(得分:1)
我认为因为你使用ListcellRenderer实现了你在列表中使用函数setRenderer。此功能适用于您工作的列表。您从向量中删除但不更新列表(原始列表中使用的ListcellRenderer)。因此,无论何时从向量中删除,都需要再次更新列表(并调用setRenderer(..))。
答案 1 :(得分:1)
我猜你不能从向量中删除一个取消选择的数字,因为一旦它被添加到向量中你就无法识别它的索引。您可以更改数据结构并使用Hashtable,这样您就可以使用密钥,例如用于标识条目的数字以及何时取消选择该条目,只需查找密钥并将其删除即可。
答案 2 :(得分:1)
有能力检查和取消选中列表项,您可以按照以下步骤使用:
最后在侦听器中将布尔值的状态更改为true或false。
之后你有一个列表,其布尔变量显示用户选择了哪些元素。