介绍的唯一方法JComoboBoxModel
是getSelectedItem()
and setSelectedItem(Object anItem)
,所以我会说不。
基本上,您可以将每个模型的数据放入一个共享列表中。DefaultComboBoxModel
然后,您可以创建使用此数据列表的组合框模型的三个新实例(使用您自己的实现或播种 a )。然后这些将分别应用于每个组合框,以便每个组合框都有自己的模型。
List sharedData = //... Create a list of data...
JComboBox box1 = new JComboBox(new MyComboBoxModel(list));
JComboBox box2 = new JComboBox(new MyComboBoxModel(list));
JComboBox box3 = new JComboBox(new MyComboBoxModel(list));
我的组合框模型
public class MyComboBoxModel extends AbstractListModel implements ComboBoxModel {
private List data;
private Object selectedItem;
public MyComboBoxModel(List dat) {
this.data = data;
}
@Override
public int getSize() {
return data.size();
}
@Override
public Object getElementAt(int index) {
return data.get(index);
}
@Override
public void setSelectedItem(Object anItem) {
selectedItem = anItem;
}
@Override
public Object getSelectedItem() {
return selectedItem;
}
}
如果这就是你所拥有的,你可以很容易地使用一个数组