我有多个JComboBox,把它们注册到同一个ActionListener中,它们在actionlistener中的处理过程基本一致,都要除自己以外的其它的JComboBox调用removeAllItems,再重新addItem,这样导致了一连串的ActionEvent事件。
但我通过在actionPerformed的入口处打印参数e,发现由于我鼠标单击一个JComboBox改变选择而引起的ActionPerformed调用的事件是这样的:
java.awt.event.ActionEvent[ACTION_PERFORMED,cmd=comboBoxChanged,when=1253751078147,modifiers=Button1] on javax.swing.JComboBox[,390,42,162x39,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=44]
而在该事件处理中由于调用了所有的其它JComboBox的removeAllItems方法而导致的ActionPerformed调用所产生的事件是这样的:
java.awt.event.ActionEvent[ACTION_PERFORMED,cmd=comboBoxChanged,when=1253751078147,modifiers=Button1] on javax.swing.JComboBox[,390,123,162x39,invalid,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=]
当然具体参数不同,但都有一个invalid在那里。
我想知道怎么样能够提取出ActionEvent中的invalid呢?我要求在ActionListener中不处理包含invalid的事件。求达人指点。
但我通过在actionPerformed的入口处打印参数e,发现由于我鼠标单击一个JComboBox改变选择而引起的ActionPerformed调用的事件是这样的:
java.awt.event.ActionEvent[ACTION_PERFORMED,cmd=comboBoxChanged,when=1253751078147,modifiers=Button1] on javax.swing.JComboBox[,390,42,162x39,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=44]
而在该事件处理中由于调用了所有的其它JComboBox的removeAllItems方法而导致的ActionPerformed调用所产生的事件是这样的:
java.awt.event.ActionEvent[ACTION_PERFORMED,cmd=comboBoxChanged,when=1253751078147,modifiers=Button1] on javax.swing.JComboBox[,390,123,162x39,invalid,layout=javax.swing.plaf.metal.MetalComboBoxUI$MetalComboBoxLayoutManager,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=]
当然具体参数不同,但都有一个invalid在那里。
我想知道怎么样能够提取出ActionEvent中的invalid呢?我要求在ActionListener中不处理包含invalid的事件。求达人指点。
解决方案 »
- 反射如何用null参数构造一个对象?
- 用jxl创建或修改文件出错。
- 我是菜鸟,下面是我写的聊天室的代码,但是我不会实现多客户端,请高手们帮我改一下,让它可以实现多客户端!
- 请教关于代理的问题
- 有一道java题关于循环嵌套的,我不明白为何执行结果是15?哪位高手帮帮我。
- 50求教一个关于JTable的难题, 高手帮忙, 谢谢
- 求解这段代码含义??
- int i=0xFFFFFFF1; int j=~i; System.out.println(j); 为什么输出是14
- 求类的思想问题
- 为什么我用applet显示的菜单条在有的机上不能用applet显示,只能成为html显示。
- 看代码 回答问题
- 插件开发-->高分求一居中算法!
最笨的方法就是调用e.toString().indexOf("invalid"),根据返回值判断嘛但我想还有没有其它方法呢?