当用户选择已在JComboBox
.
例如,假设我有一个JComboBox
其模型具有以下值:
- 猫
- 狗
- 鱼
- 鸟
- 蛇
当前选择的值为“Cat”。如果用户再次选择“Cat”,而“Cat”已经被选中,我想防止监听器收到通知。
我试图通过setSelectedItem(Object)
在模型中添加一个检查来实现这一点。然而这并没有奏效。
我的下一个假设是,如果我想要这个功能,我将需要继承JComboBox
并覆盖它的setSelectedItem(Object)
和contentsChanged(ListDataEvent)
函数。
但是,鉴于文档contentsChanged(ListDataEvent)
,我犹豫是否要覆盖它。因此,我对你们所有人的问题:
有没有更好的方法来获得这种不需要子类化和JComboBox
覆盖它的功能的所需功能?setSelectedItem(Object)
contentsChanged(ListDataEvent)