java - 如何在java中按字母顺序排列组合框? (使用 Netbeans IDE 7.3)

标签 java netbeans combobox sorting

我确实有一个具有不同值的组合框,例如“FT001”和“FT002 和“FT003”。 问题是,如果我在 FT001 之前添加 FT002,那么“FT002”始终是第一个。

现在我正在寻找一种可以按字母表排序的方法。

我使用以下代码来填充组合框:

public DefaultComboBoxModel getPraktijkenLijst(){
   DefaultComboBoxModel listModel = new DefaultComboBoxModel();

    listModel.addElement("Selecteer een praktijk");

    int aantal = praktijkVerzameling.getAantalPraktijken();
    int i = 0;
    while(i < aantal){   
        listModel.addElement(praktijkVerzameling.getPraktijk(i).getPraktijkNaam());
        i++;
    }
    return listModel;     
}

“praktijkVerzameling”是一个充满对象的 ArrayList。

如果你们需要更多信息来帮助我,请询问:)

PS:我是荷兰人,所以如果这里有人是荷兰人,我会比英语更好地理解荷兰语,谢谢。

最佳答案

DefaultComboBoxModel.addElement(Object):在模型末尾添加一个项目。因此,您正在使用的数组列表可以在使用 model.addElement(Object) 函数添加到 model 之前进行排序。您可以使用比较器对 praktijkVerzameling ArrayList 进行排序。例如,假设 praktijkVerzameling 是类类型 Praktijk 的数组列表:

       DefaultComboBoxModel model = new DefaultComboBoxModel();
       Collections.sort(praktijkVerzameling, new Comparator<Praktijk>(){

            @Override
            public int compare(Praktijk o1, Praktijk o2) {
               return o1.getPraktijkNaam().compareTo(o2.getPraktijkNaam()) ;
            }
        });

       for(Praktijk p : praktijkVerzameling)
           model.addElement(p.getPraktijkNaam());

       return model;

关于java - 如何在java中按字母顺序排列组合框? (使用 Netbeans IDE 7.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19859911/

相关文章:

java - 邮件触发时出错

java - Android - 从同类访问 Servlet AsyncPost 任务响应

java - 字符串情况下的哈希码范围

Netbeans 7.0.1 自动换行

c# - 在可编辑组合框中设置闪烁光标的颜色

java - Caused by : org. postgresql.util.PSQLException: FATAL: remaining connection slots are reserved for non-replication super 用户连接

java - KAFKA 与现代内存内存数据网格 (IMDG) 相比

Java数组不存储初始化时提供给它的数据

c# - 将 Combobox.SelectedItem 转换回 DateTime 会导致 "Specified cast is not valid."

python - 如何清除 ttk.Combobox 的文本字段部分?