我在这里变得越来越绝望...:
我确实有一个带有40个JComboBox的框架。首先,他们提供所有相同的物品。 如果我在一个特定的组合框中选择项目,则应在其中选择该项目,而在其他所有39个框中都不再可用。
我尝试使用ComboBoxModel很长时间了,但是现在我认为这没有任何意义:此刻,我从模型中删除了选中的项目,它也从选中它的Box中删除了。 / p>
这样做是有意义的吗?
还有更好的方法,不是吗?非常感谢您的帮助!
答案 0 :(得分:0)
for(int x =0;x<YourComboBoxArray.length();x++
{
if(e.getSource()==YourComboBoxArray[x])
{
try
{
ArrayList <String> OptionsList = new ArrayList();
for(int i=0;i<YourComboBoxArray[x].getItemCount();i++)
{
OptionsList.add(TeamPlayercmbx[x].getItemAt(i).toString();
}
DefaultComboBoxModel DCMB = new DefaultComboBoxModel(OptionsList.toArray());
YourComboBoxArray[x+1].setModel(DCMB);
YourComboBoxArray[x+1].removeItem(YourComboBoxArray[x].getSelectedItem());
}
catch(Exception ex)
{
//Log your errors or whatever you want to do if it's the last ComboBox in the Array
}
}
}
这假定您在组合框数组的每个索引上都有一个动作侦听器