Java 防止当前选择的选择通知JComboBox中的侦听器
我想防止在用户选择已在Java 防止当前选择的选择通知JComboBox中的侦听器,java,swing,events,jcombobox,Java,Swing,Events,Jcombobox,我想防止在用户选择已在JComboBox中选择的值时触发事件 例如,假设我有一个JComboBox,其模型具有以下值: 猫 狗 鱼 鸟 蛇 当前选择的值为“Cat”。如果用户再次选择“Cat”,而“Cat”已被选择,我希望防止侦听器收到通知 我试图通过在模型中的setSelectedItem(Object)中添加一个检查来实现这一点。然而,这并没有起作用 我的下一个假设是,如果我想要这个功能,我将需要子类化JComboBox,并覆盖它的setSelectedItem(Object)和cont
JComboBox
中选择的值时触发事件
例如,假设我有一个JComboBox
,其模型具有以下值:
- 猫
- 狗
- 鱼
- 鸟
- 蛇
setSelectedItem(Object)
中添加一个检查来实现这一点。然而,这并没有起作用
我的下一个假设是,如果我想要这个功能,我将需要子类化JComboBox
,并覆盖它的setSelectedItem(Object)
和contentsChanged(ListDataEvent)
函数
然而,考虑到contentsChanged(ListDataEvent)
的文档,我不太愿意覆盖它。因此,我向各位提出的问题是:
是否有更好的方法来获得所需的功能,而不需要对JComboBox
进行子分类,并覆盖它的setSelectedItem(对象)
和contentsChanged(ListDataEvent)
函数?
我希望防止在用户
选择已在JComboBox中选择的值
- 使用
- 将代码包装到
中,如图所示,如Oracle教程中所述if(e.getStateChange()==ItemEvent.SELECTED){
ItemEvent.SELECTED
。正如such,把这个作为答案,谢谢。