Hi I am having trouble getting the correct index from a JComboBox. My program's JComboBox allows for duplicated entries. When the getSelectedIndex() method is used, it returns the index of the FIRST instance of the object that was selected!!! instead of returning the index to the actual item selected by the mouse!! /** * I need this labelIndex to be the index of the label selected!! not the *first instance of the label in the list. */ labelIndex = frame.labelsComboBox.getSelectedIndex(); Does anyone know how to remedy this?
Why don't you show us the code where you are filling your JComboBox so we can see if you are doing that correctly. Are you using a Model for the JComboBox? It's hard to debug someones problem when they don't show us some code.
yes, this is the default behavior (as per api docs). if you want to get unique index for duplicate list items, you need to setup a custom renderer. this would be not too hard for what you need to do (unless you have, say, an editable combo box). you can modify and use the sun ComboBoxRenderer class example at http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html, (just ignore the stuff about displaying an icon). both your 'itemStateChanged' listener and your 'getListCellRendererComponent' will provide you the correct selected index. hth