gpt4 book ai didi

java - 如何从 Java 中的组合框中删除特定项目?

转载 作者:太空宇宙 更新时间:2023-11-04 13:56:08 26 4
gpt4 key购买 nike

我正在使用字符串数组来填充项目组合框。选择项目并按按钮提交后,我希望它从组合框中删除该项目。我的尝试是首先从字符串数组中删除选定的项目,从组合框中删除所有项目,然后用字符串数组重新填充它。

choice 是字符串数组,cboChoice 是组合框,strChoice 是要删除的项目

for(int i = 0; i < choice.length; i++) {
if(choice[i].equals(strChoice)) {
choice[i] = null;
cboChoice.removeAllItems();
cboChoice.addItem(choice);
}
}

据我所知,我不知道是否有更简单的方法可以做到这一点,但我似乎无法让它发挥作用。

最佳答案

由于您有一个字符串数组和一个 JComboBox,它们具有相同顺序的相同项目,因此您可以使用 JComboBox.getSelectedIndex() 来检索所选项目的索引位置并从 JComboBox 中删除,然后您就得到了数组。

作为建议,我会将您的 String 数组设置为 ArrayList,它是一个“更智能”的动态数组,并且可以与您的 JComboBox 保持更好的同步。另请确保先从数组中删除,然后再从 JComboBox 中删除,否则所选索引可能会更改。

ArrayList 声明如下所示:

ArrayList<String> choice = new ArrayList<>();

将您的内容添加到此列表中,如下所示:

choice.add(yourChoice);

删除项目如下:

if (cboChoice.getSelectedIndex() > -1) {
choice.remove(cboChoice.getSelectedIndex());
cboChoice.getSelectedIndex();
}

希望这会有所帮助...另外,一旦您了解了其工作原理,我建议您学习 ComboBoxModel。某些 Swing 控件具有模型对象,您可以使用它们来添加/删除/修改内容,而无需引用实际控件。

关于java - 如何从 Java 中的组合框中删除特定项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29798039/

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