這裏有一個場景:清除最後選定值的JComboBox時的ComboBoxModel變空
我有兩個JComboBoxes(叫他們COMBO1和combo2),其從數據庫 [在DB獲得他們的價值觀,這兩個人有1:M的關係]。當屏幕上顯示出了我填充COMBO1從數據庫值,然後採取在列表中的第一項,並獲得其相應的值來填充combo2。
由於combo2的值取決於什麼是COMBO1選擇,每次在COMBO1呼叫時選擇的變化是對數據庫進行時間去匹配的值來填充combo2。
現在,這裏是一個問題:
說我有在COMBO1兩個條目,第二個條目有combo2沒有相應的值。當我選擇combo1的第二個條目時,combo2上的最後選定值不會清除。 [記住型號爲combo2是空的,所以應該沒有什麼選擇]
Qeustion:如何清除文本中combo2如果模型是空的?
這裏是一個示例代碼:
public void select(final Entry entry) {
if (entry == null)
return;
int index = entryList.indexOf(entry); // instance of SelectionInList from JGoodies
boolean positive = index >= 0 && index <= entryList.getSize() - 1;
if (positive) {
entryList.setSelection(entry);
subEntryList.setList(entryList.loadSubEntries(entry.getID()));
if (!subEntryList.isEmpty()) {
SubEntry e = subEntryList.getElementAt(0);
select(e);
}
}
}
關於第一部分,是的,這是我一直認爲和現在這個問題。有趣的是,該模型表示沒有最後選擇的項目在UI上顯示。 – user276002 2011-04-09 13:57:23
@ user276002它實際上。所以這個問題似乎是在你的代碼中的其他地方。請張貼相關部分,以便我們可以看看。 – Howard 2011-04-09 14:06:44
這裏是我的代碼細分: 我正在使用JGoodies綁定,所以這裏是我將JComboBoxes綁定到相應模型的行: 'Bindings.bind(combo1,entryrModel.getEntryList()); Bindings.bind(combo2,entryModel.getSubEntryList());' – user276002 2011-04-09 14:36:15