我有多个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的事件。求达人指点。