2

JComboBox のすべての項目を削除してから removeAllItems() する別の方法はありますか? 私は mij アプリで 2 つの JComboBoxes を使用しています。最初のコンボボックスからアイテムを選択すると、関連するアイテムが 2 番目のコンボボックスに表示されます。これを行うと、アイテムは既に存在するアイテムの後に追加され続けます。最初に removeAllItems() を使用してコンボボックスをクリアしようとすると、2 番目のコンボボックスは空になり、最初のコンボボックスを変更するたびに空のままになります...最初のコンボボックスはすべての値を保持します...誰かが私の問題を見ていますか?

フェスティバルは JComboBox です。

private JComboBox festival;
private JComboBox zone;

...

public void fillFestivalList(){
    festival.removeAllItems();
    List festivals = OP.fillFestivalList();

    for(Object fest: festivals)
        festival.addItem(fest.toString());
}

public void fillZoneList(String festival){
    zone.removeAllItems();
    List zones = OP.fillZoneList(festival);

    for(Object zoneItem: zones)
        zone.addItem(zoneItem.toString());
}
4

2 に答える 2

4

それにかんする、

JComboBox のすべての項目を削除してから removeAllItems() する別の方法はありますか?

JComboBox に新しいモデルを与えるだけです。

新しい を作成DefaultComboBoxModel<T>し、最新のエントリを入力してから、JComboBox を呼び出しsetModel(...)、必要に応じて新しいモデルを渡します。

于 2013-10-29T21:52:33.747 に答える