gpt4 book ai didi

Java jList 根据组合框选择添加项目

转载 作者:行者123 更新时间:2023-12-02 07:44:08 25 4
gpt4 key购买 nike

我的程序中正在加载一个 csv 文件。它包含城市和地区以及其他一些东西(这里不重要)。选择 csv 后,我将数据加载到几个组合框中。

1 事情不起作用,我有一个包含所有城市的组合框,现在我需要根据组合框中的选择列出该国家/地区的所有区域。

这是事件:

 private void cboProvinciesItemStateChanged(java.awt.event.ItemEvent evt) {                                               
//System.out.println(Arrays.asList(gemeentesPerProvincie(gemeentes)));
invullenListProvincie(gemeentes);
}

方法如下:

      private void invullenListProvincie(ArrayList<Gemeentes> gemeentes) {

Gemeentes gf = (Gemeentes) cboProvincies.getSelectedItem();
DefaultListModel model = new DefaultListModel();
JList list = new JList(model);

for (Gemeentes gemeente : gemeentesPerProvincie(gemeentes)) {
model.addElement(gemeente);
}

lstGemeentes.setModel(model);

}

这是过滤与组合框中的选择相等的所有区域的方法:

    private ArrayList<Gemeentes> gemeentesPerProvincie(ArrayList<Gemeentes> gemeentes) {

String GemPerProv = (String) cboProvincies.getSelectedItem();
ArrayList<Gemeentes> selectie = new ArrayList<Gemeentes>();
for (Gemeentes gemeente : gemeentes) {
if (gemeente.getsProvincie().equals(GemPerProv)) {
selectie.add(gemeente);
}
}

return selectie;
}

我确信错误是我尝试将项目添加到 jList gemeentesPerProvincie() 的方式,我已经尝试了很多事情。我真的希望有人能看到我明显缺少的东西......

最佳答案

  • 使用AutoComplete JComboBox / JTextField而不是简单的 JCombobox

  • 使用JTable具有一列(可能没有 JTableHeader)

  • 创建TableMode l 有两个Column,城市和地区,那么JComboBoxJTable都得到了相同的数据,从JTable中删除Column城市(JTable.removeColumn() 仅涉及 JTables View ,数据仍然存在于 TableModel 中)

  • 添加RowFilter to JTable列包含城市,输出到 JTables View 将仅是城市区域,

  • RowFilter 的值将从 JComboBox.getSelectedItem

  • JCombobox 的数据来自 TableModel

关于Java jList 根据组合框选择添加项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11127917/

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