gpt4 book ai didi

java - 覆盖 JList 的互斥性

转载 作者:行者123 更新时间:2023-12-01 11:05:28 25 4
gpt4 key购买 nike

出于某种原因,即使默认情况下 JList 是一个多选列表,但当单击另一个选项时,您之前单击的任何选择都会被删除。另外,由于某种原因,必须按住 Ctrl 并单击才能进行其他选择

我尝试通过创建存储了 selectedIndices 的自定义 ListModel 来覆盖此问题,并将 MouseListener 添加到我的 JList 激活后,会将 list.getSelectedIndices() 附加到 listModel.selectedIndices。然而,这种方法存在意想不到的问题:在对我的解决方案进行压力测试时(我确信在继续之前我已经解决了所有不可避免的编程错误!),我发现,例如,我可以有第二个列表选择了选项,但单击第一个选项,list.getSelectedIndices() 将返回第二个选项的索引(因此,我的算法将失败)。

是否有任何方法可以使每次点击实际上都会将单击的列表选项的索引添加(或删除)到list.getSelectedIndices(),而无需我的解决方法?

Here是用于测试的 JAR 文件(DEBUG == true 因此调试输出可从命令行看到)。

最佳答案

I use JCheckBox as the ListCellRenderer

那么也许您应该使用带有 boolean 值的单列JTable。每次单击单元格时,复选框的状态都会切换。

关于java - 覆盖 JList 的互斥性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33005744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com