2012-04-08 58 views
2

是否有一種方法可以將哈希映射的條目值與JComboBox同步。這意味着當我添加更多項目到哈希映射中時,JComboBox會自動識別出可以選擇新項目。使用jcombobox同步哈希映射

回答

5

您可以通過自組合框模型的數據擴展AbstractListModel<E>,實施ComboBoxModel<E>ListModel<E>MutableComboBoxModel<E>,並使用TreeMap<T, E>作爲模型類的核(樹形圖,而不是HashMap中創建自己的組合框模型必須按照一定的順序進行維護)。無論何時向HashMap添加或刪除數據,都要確保啓動正確的數據更改方法。

+1

不會是容易,因爲爲了在'HashMap'是不確定的,如果我沒錯。這是'ListModel'所要求的。 – Robin 2012-04-08 16:09:50

+0

@Robin:True。我也在考慮這個問題,也許最好使用一個有一些排序的Map,如TreeMap。 – 2012-04-08 16:10:25

+1

似乎是一個很好的建議,值得一提的是你的回答 – Robin 2012-04-08 16:11:33

0

擴展HashMap來實現可觀察接口只是把HashMap中的 add方法觀測器設計更新的功能和聆聽更新您的JComboBox

+0

java.util.Observable類不是一個接口。 – trashgod 2012-04-08 17:23:37

+0

@trashgod我的壞..觀察員 – Kamal 2012-04-08 18:57:44