JComboBox: Value ablegen?

cubeless

Mitglied
Hallo,

ist es in java möglich, ähnlich wie in HTML (<option value="376">Deutschland</option>), jedem Eintrag einer JComboBox einen Value mitzugeben, damit der Zugriff nicht nur über den eigentlichen Inhalt oder den Index erfolgen muss, sondern eben über den Value?

Danke im Voraus!

Grüße
Daniel
 
Moin!
Mit der Stanard JComboBox geht das nicht, aber du kannst sie natürlich nach belieben Erweitern:
Code:
/*
 * Main.java
 *
 * Created on 8. Dezember 2007, 17:41
 *
 */



import java.util.HashMap;
import javax.swing.JComboBox;
import javax.swing.JFrame;

/**
 *
 * @author JW
 */
public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        JFrame j = new JFrame();
        j.setSize(400,400);
        DComboBox box = new DComboBox();
        box.insertItem("test1","value1");
        box.insertItem("test2","value2");
        box.insertItem("test3","value3");
        j.getContentPane().add(box);
        j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        j.setVisible(true);
        System.out.println(box.getParameterObject("value2"));
        
    }
    static class DComboBox extends JComboBox{
        private HashMap<String,Object> values = new HashMap<String,Object>();
        
        public void insertItem(Object obj,String parameter){
            values.put(parameter,obj);
            insertItemAt(obj,0);
            
        }
        public Object getParameterObject(String parameter){
            return values.get(parameter);
        }
        
    }
    
    
}
Je nachdem, was du noch alles machen willst, kannst ja noch weitere Methoden hinzufügen, bzw. bestehende überschreiben...

*grüssle*
MeinerEiner
 
Hallo,

vielen Dank, so etwas hat mir gefehlt.

Grüße
Daniel

P.S: @Admin: Kann der Thread hier bitte ins Swing-Forum verschoben werden? Habs falsch gepostet, sorry!
 
Zurück