如何解决For 循环没有在 Java 中使用 ListSelectionListener 获取正确的用户选择
我正在尝试在 ListSelectionListener 事件中使用 for 循环来构建要设置为 Jlabel 的字符串。它的工作原理是,它将构建字符串并且 JLabel 将更新但不会更新用户选择的项目。例如,我会在程序中选择“冰岛”,但程序会选择美国,因为它是第一个索引,然后如果我继续选择其他索引,它会进入索引 1、2 等,而不是我的索引选择了。这是代码。
```js
document.getElementById("squareContainer").setAttribute("style",`width: ${gridWidth * 30}px`);
解决方法
output = output + (String)ctryJList.getModel().getElementAt(i) ...
您正在获取索引 0、1、2... 处的值,因为“i”始终从 0 开始。
您需要所选项目的索引,因此您需要从数组中获取索引:
output = output + (String)ctryJList.getModel().getElementAt(selectedindices[i]) ...
另外,不要使用字符串连接来构建输出字符串。而是使用 StringBuffer
或 StringBuilder
并使用 append(...)
方法。或者可以使用 StringJoiner
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。