我正在處理一個程序,其中2個JComboBoxes必須設置對方的 所選項目。讓我們複製他們的對象名稱wheelsTypeCombo和carBrandCombo。 它們的模型都包含從數據庫(第一個列表中的類型1的對象和第二個列表中的類型2的對象)檢索到的每個對象的列表,以及相應類型的特殊wheelsTypeShowAll和carBrandShowAll。當選擇最後2個項目中的任何一個時,則顯示兩個JComboBox中包含的所有項目,包括它們自己(2個特殊項目)。互惠影響JComboBoxes
的JComboBoxes互惠關係的規則如下:
- 當我們選擇wheelsTypeCombo一個項目,該carBrandCombo重新裝載 所有使用的汽車品牌只有那些類型的輪胎和carBrandShowAll的項目
- 當carBrandShowAll項目從第一種情況狀態選擇CarBrandCombo 然後CarBrandCombo將重新加載數據庫中的所有相應項目, wheelTypeCombo也有選定項目wheelsTypeShowAll。
- 當我們選擇carBrandCombo那麼相應的車輪類型的項目在wheelsTypeCombo選擇 項目
- 如果已經在一個對應關係項目被選中,那麼不需要setSelectedItem 採取行動要麼JComboBoxes 的
我暫時嘗試使用匿名ItemListener類,當我將JComboBoxes添加到接口時,卻發現自己可能會因調用方法調用而導致堆棧和空指針異常溢出。
我希望在任何級別上進行任何合理的改進。
爲更好地幫助發佈[SSCCE](http://sscce.org/) – mKorbel
另請參閱此[示例](http://stackoverflow.com/a/3191882/230513)。 – trashgod