Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Trouble using JComboBox

 
Colart Brunton
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
Gregg Bolinger
Ranch Hand
Posts: 15304
6
Chrome IntelliJ IDE Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
clio katz
Ranch Hand
Posts: 101
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic