我正在处理一个程序,其中2个JComboBoxes必须设置对方的 所选项目。让我们复制他们的对象名称wheelsTypeCombo和carBrandCombo。 它们的模型都包含从数据库(第一个列表中的类型1的对象和第二个列表中的类型2的对象)检索到的每个对象的列表,以及相应类型的特殊wheelsTypeShowAll和carBrandShowAll。当选择最后2个项目中的任何一个时,则显示两个JComboBox中包含的所有项目,包括它们自己(2个特殊项目)。互惠影响JComboBoxes
的JComboBoxes互惠关系的规则如下:
- 当我们选择wheelsTypeCombo一个项目,该carBrandCombo重新装载 所有使用的汽车品牌只有那些类型的轮胎和carBrandShowAll的项目
- 当carBrandShowAll项目从第一种情况状态选择CarBrandCombo 然后CarBrandCombo将重新加载数据库中的所有相应项目, wheelTypeCombo也有选定项目wheelsTypeShowAll。
- 当我们选择carBrandCombo那么相应的车轮类型的项目在wheelsTypeCombo选择 项目
- 如果已经在一个对应关系项目被选中,那么不需要setSelectedItem 采取行动要么JComboBoxes 的
我暂时尝试使用匿名ItemListener类,当我将JComboBoxes添加到接口时,却发现自己可能会因调用方法调用而导致堆栈和空指针异常溢出。
我希望在任何级别上进行任何合理的改进。
为更好地帮助发布[SSCCE](http://sscce.org/) – mKorbel
另请参阅此[示例](http://stackoverflow.com/a/3191882/230513)。 – trashgod