I looked up JComboBox' javadocs, just to be sured, and....this is what I found:
aListenerwill receive one or two
ItemEvents when the selected item changes.
I understand Swing is a huge framework and it has its rough edges...but this? It certainly looks like someone couldn't fix this strange behavior, and desided to make it a documented feature instead. Way to go!