gpt4 book ai didi

java - Swing:JComboBox 删除/添加重复项

转载 作者:行者123 更新时间:2023-12-02 04:50:03 24 4
gpt4 key购买 nike

我的问题必须能够向组合框添加和删除项目。这些项目可以是重复的。我设法添加它们:

jComboBox1.addItem(dodatek);

首先删除:

 if (jComboBox1.getItemCount() > 0) {
jComboBox1.removeItemAt(0);

或选择一个:

    if (jComboBox1.getSelectedItem() != null) {
jComboBox1.removeItemAt(jComboBox1.getSelectedIndex());

删除所有项目且其中一项重复时会出现问题。在这种情况下,即使列表为空,组合框中的最后一项仍保持选中状态! /image/rgYP4.jpg

尝试删除所选项目时也会引发异常:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -1
at java.util.Vector.removeElementAt(Vector.java:562)
at javax.swing.DefaultComboBoxModel.removeElementAt(DefaultComboBoxModel.java:152)
at javax.swing.JComboBox.removeItemAt(JComboBox.java:759)

只有在删除重复项时才会发生这种情况

最佳答案

选定的项目和选定的索引显然不是同一件事。在调用删除之前,您需要检查所选索引是否为 != -1。

选定的项目是在框中选定的值,选定的索引是在列表中选定的索引。

关于java - Swing:JComboBox 删除/添加重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29317037/

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