繁体   English   中英

Java jList基于组合框选择添加项目

[英]Java jList add item based on combobox selection

我有一个正在我的程序中加载的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,然后JComboBoxJTable都有相同的数据,从JTable到删除列城市( JTable.removeColumn()只是关于JTables view ,数据仍然存在于TableModel

  • RowFilter添加到JTable到列包含城市,输出到JTables view将只是城市的区域,

  • RowFilter值将来自JComboBox.getSelectedItem

  • JCombobox数据来自TableModel

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM