0

プログラムにロードされている csv ファイルがあります。都市と地域、およびその他の要素が含まれています (ここでは重要ではありません)。csv が選択されたら、データをいくつかのコンボボックスにロードします。

すべての都市を含むコンボボックスがあり、コンボボックスからの選択に基づいてその国のすべての地域をリストする必要があります。

イベントは次のとおりです。

 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() に項目を追加しようとしている方法であると確信しています。すでに多くのことを試しました。私が明らかに欠けているものを誰かが見てくれることを本当に願っています...

4

1 に答える 1

2
  • プレーンなJComboboxの代わりにAutoComplete JComboBox / JTextFieldを使用する

  • 1 つの列でJTableを使用します(おそらくなしでJTableHeader)

  • 都市と地域の 2 つの列を持つTableMode l を作成し、両方が同じデータを取得してから、JComboBox都市の列を削除します (は約 のみで、データは にまだ存在します)JTableJTableJTable.removeColumn()JTables viewTableModel

  • RowFilter を JTableに追加し、列に都市が含まれているようにします。出力は都市のJTables viewエリアのみになります。

  • RowFilterからなる値JComboBox.getSelectedItem

  • のデータJComboboxTableModel

于 2012-06-20T21:04:39.320 に答える