• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Showing a string and then an icon at the same time in a JComboBox.

 
Greenhorn
Posts: 28
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I am attempting to have a JcomboBox with a list of ranks to choose but i would like to have a small picture of that rank alongside the text.

I can get the text as an option, i can also get a picture as an option but not both at the same time.

I guess the obvious question is, is it possible in the first place as all the examples i have found appear to have the picture output as effectively a separate window attached to the JComboBox?

The basic idea i have been trying is




The result is
RookieRookie.gif
appears in the JComboBox.i.e. the string and then the file reference rather than the picture itself.

Any pointers on how this could be achieved would be appreciated.

Thank You.


 
Bartender
Posts: 3648
16
Android Mac OS X Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello there

You are adding an "object" to your JComboBox. Yet your image and string are 2 different objects. When you do this, the image object is implicitly converting to string hence the filename rather than the image itself.

I suggest 1) use a model when creating your combo box, or 2) use a Javabean embedding the image and description, or 3) use an array.

This link should help you.
 
Bartender
Posts: 1104
10
Netbeans IDE Java Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You need 2 things:
1) You need to have a separate class that will hold the image and string value. You can then add this object to the addItem() method.
2) Then, you need to write a Renderer - A renderer controls how the items are 'displayed' - you can tweak the display as per your needs.

To know more about renderers, check out the tutorial
 
wayne morton
Greenhorn
Posts: 28
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That's great information. The tutorial is particularly useful.

Thank you both for your help.
reply
    Bookmark Topic Watch Topic
  • New Topic