0
我有一個jcombobox有多個條目。我想在用戶開始輸入時過濾列表。如何在鍵盤事件中隱藏jcombobox中的條目?Java:Swing JComboBox - 是否可以隱藏項目?
我有一個jcombobox有多個條目。我想在用戶開始輸入時過濾列表。如何在鍵盤事件中隱藏jcombobox中的條目?Java:Swing JComboBox - 是否可以隱藏項目?
使用正則表達式來過濾項目列表,只需更新JCombobox與新的ComboBoxModel
。
喜歡的東西:
DefaultComboBoxModel comboModel = ((DefaultComboBoxModel)yourComboBox.getModel());
....
// invoke regex on yourArray
comboModel.removeAllElements();
for(int i = 0; i<yourArray.length; i++) {
comboModel.addElement(yourArray[i]);
}
[編輯]
,如果你不想使用兩個列表:一個是實際的數據,二 - 用於過濾的數據,
寫自定義ComboBoxModel,您可以在其中實現「隱藏」功能。
如果我使用正則表達式,我將不得不將值存儲在另一個數組......這意味着我會重複數據?或者我錯過了什麼 –
如果你想「隱藏」,是的使用2個數組沒有辦法。我沒有看到其他方式 –
,因爲'removeAllItems'指的是'JCombobox',在這裏我使用'DefaultComboBoxModel' –