2012-08-17 11 views
8

Ich brauche den Integer-Wert der Combobox in Swing.Erhalten Combobox Wert in Java Swing

Ich habe einen Integer-Wert als ID für die Combobox gesetzt. Ich habe versucht, combobox.getSelectedItem() und combobox.getSelectedIndex(), aber es kann nicht den int-Wert.

Unten ist mein Code:

CommonBean commonBean[]=new CommonBean[commonResponse.getCommonBean().length+1];   
     for(int i=0;i<commonResponse.getCommonBean().length;i++) 
     { 
      commonBean[i] = new CommonBean("--Please select a project--", 0); 
      commonBean[i+1] = new CommonBean(commonResponse.getCommonBean()[i].getProjectName(), commonResponse.getCommonBean()[i].getProjectId()); 
     } 

JComboBox combobox= new JComboBox(commonBean); 


public CommonBean(String projectName,int projectId) {  
     this.projectName = projectName; 
     this.projectId = projectId; 

    } 

Jede Hilfe sehr geschätzt wird.

+0

Also, wie hast du es eingestellt? – nullpotent

+1

Bitte geben Sie [SSCCE] (http://sscce.org/) ein, das das Problem veranschaulicht. – tenorsax

+1

Ihr Update ist unvollständig. Was ist zum Beispiel der Typ von projectId? – trashgod

Antwort

36

Die Methode Object JComboBox.getSelectedItem() gibt einen Wert zurück, der vom Typ Object umschlossen ist, sodass Sie ihn entsprechend umwandeln müssen.

Syntax:

YourType varName = (YourType)comboBox.getSelectedItem();` 
String value = comboBox.getSelectedItem().toString(); 
+0

Ich erhalte nur einen Zeichenfolgenwert, wenn ich das obige verwende (d. H. Den Namen, den der Benutzer in der Combobox sieht). – vijay

+0

Das funktioniert. Danke AVD – vijay

+1

Basierend auf dem Update sieht es aus wie 'YourType' ist' CommonBean', von dem 'projectId' erhalten werden kann. – trashgod

5

Wenn die Zeichenfolge leer ist, comboBox.getSelectedItem().toString() eine NullPointerException geben. Also besser zum typecast von (String).