2012-04-08 7 views
2

ハッシュマップのエントリ値をJComboBoxと同期させる方法はありますか?これは、ハッシュマップにさらに多くのアイテムを追加すると、JComboBoxは新しいアイテムを選択できることを自動的に認識します。ハッシュマップとjcomboboxの同期

答えて

5

コンボボックスモデルのデータは、特定の順序で維持されなければならないので、あなたは、AbstractListModel<E>を拡張ComboBoxModel<E>を実施し、ListModel<E>MutableComboBoxModel<E>、代わりにHashMapのモデルクラス(のTreeMapの核としてTreeMap<T, E>を使用して、独自のコンボボックスモデルを作成することができます)。データがHashMapに追加または削除されるたびに、適切なデータ変更メソッドを起動するようにしてください。

+1

でのHashMapの addメソッドでObservor更新機能を入れて、更新のために聞く私があれば 'HashMap'が未定義で順序として簡単にするつもりはない観察可能なインタフェースを実装するHashMapを拡張します間違いではない。これは 'ListModel'によって要求されます – Robin

+0

@Robin:True。私はそれについても考えていました。おそらく、TreeMapのようないくつかの順序を持​​つMapを使うほうがよいでしょう。 –

+1

あなたの答えに言及する価値のある良い提案のようです。 – Robin

0

は自分のJComboBoxの

+0

'java.util.Observable'クラスはインタフェースではありません。 – trashgod

+0

@trashgod私の悪い..オブザーバー – Kamal

関連する問題