0

我正在用 Java 开发一个应用程序来发送短信。它使用PIM库来获取电话联系人并使用 CheckBox 列表显示它。用户可以选择多个联系人。我用来存储使用onVector获得的选定元素。这种方法的问题是当用户取消选择一个项目时,它不能被删除。有什么简单的方法可以从.list.getSelectedItem()ActionEventVector

4

3 回答 3

1

我猜您无法从向量中删除取消选择的数字,因为一旦将其添加到向量中,您就无法识别它的索引。您可以更改数据结构并改用哈希表,这样您就可以使用键,例如数字来识别条目,当它被取消选择时,只需查找键并将其删除。

于 2013-01-13T22:43:14.117 回答
1

我认为因为您使用 ListcellRenderer 实现,所以您在列表中使用了 setRenderer 函数。此功能适用于您工作的列表。您从向量中删除但不更新列表(原始列表中使用的 ListcellRenderer)。因此,每当您从向量中删除时,您都需要再次更新列表(并调用 setRenderer(..) )。

于 2013-01-13T13:35:25.607 回答
1

为了能够检查和取消选中列表项,您可以使用以下过程:

  • 将布尔变量添加到您的 PIM 对象列表中

  • 向渲染器添加一个复选框,该复选框从布尔变量中获取其值

  • 然后当用户单击每个项目时,使用列表的侦听器捕获它。

  • 最后在侦听器中将布尔值的状态更改为 true 或 false。

    之后你有一个列表,它的布尔变量显示用户选择了哪些元素。

于 2013-04-14T06:53:41.300 回答