[英]How to hide items in JCombobox
我有一個使用Swing-JCombobox的應用程序。
我准備了標准的DefaultComboBoxModel,並將所有項目添加到模型中,但是當他想從PopupMenu中選擇某些項目時,我想向用戶隱藏一些項目。
我不想更改模型(刪除項目)。
您可以將項目保留在單獨的主列表中,並根據用戶操作動態創建過濾后的模型。
最好的方法是在模型中添加/刪除項目。
如果您不希望使用這種方法,則可以使用具有不同項目的不同模型,並將它們適當地設置到JComboBox。
如果我對您的問題沒問題,那么下面的文章可能有用-您可以根據某些情況將其禁用,而不是刪除該項目:
您可以創建自定義組合框模型。
將對象緩存在列表中,然后使用它來構建組合...
List objects<ComboItem> = new ArrayList<ComboItem>;
objects.add(1,"Visible String 1", "Value 1");
objects.add(1,"Visible String 2", "Value 2");
objects.add(2,"Visible String 3", "Value 3");
...
class ComboItem
{
private int group;
private String key;
private String value;
public ComboItem(int group, String key, String value)
{
this.group = group;
this.key = key;
this.value = value;
}
@Override
public String toString()
{
return key;
}
public int getGroup()
{
return group;
}
public String getKey()
{
return key;
}
public String getValue()
{
return value;
}
}
...
在這里,您可以添加僅來自所需組的項目。
遍歷您的列表,並根據其組添加所需的對象。
for (String temp : objects) {
if (temp.getGroup == 1) {
comboBox.add(temp.key.temp.value);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.