JComboBox

O

Olfipolfi

Hallo
ich bin Neuling in Java - kenne mich trotzdem schon ein bisschen aus. Aber ich weiß nicht, welche Methode ich aufrufen muss, um das gewählte Item der JComboBox als String auszugeben.
Wenn ich jComboBox.getSelectedItem(); nehme, bekomme ich so einen langen Text ausgegeben, und weiß nicht, was ich damit machen soll!

Ich weiß echt nicht mehr weiter *heul*

Danke schon mal für eure Hilfe

lg Flo
 
Wenn du ein Object mit System.out.println(Object) ausgibst, wird davon die toString()-Methode ausgegeben. Hab den Source gerade nicht installiert, aber die Ausgabe enthält die Hashsum und noch irgend was. Damit es so geht wie du willst musst du die Methode toString aus der Klasse Object überschreiben, und den return-Wert anpassen.
 
Hallo Olfipolfi,
was die getSelectedItem()-Methode der Klasse JComboBox zurückgibt, hängt davon ab, wie du sie instantiiert hast. Du kannst sie z.B. mit String-Objekten initialisieren:
Java:
JComboBox comboBox = new JComboBox(new Object[]{"eins", "zwei", "drei"}); //da "eins", "zwei", "drei" String-Objekte sind, gibt comboBox.getSelectedItem() auch entweder "eins", "zwei" oder "drei" zurück.

Hast du allerdings einen benutzerdefinierten Renderer (z.B. wenn du in einem Item Bild und Text verarbeiten willst) oder andere Objekte als Items, dann gibt die getSelectedItem()-Methode auch die anderen Objekte, die erst in einen String gecastet werden müssen, zurück.

Damit wir dir gezielt helfen können, wäre es sehr hilfreich, wenn du uns deinen Quellcode posten könntest, vor allem den/die Abschnitt(e), in dem/denen du die Items für das JComboBox-Objekt initialisierst/änderst.

Gruß,
kevin
 
getSelectedItem() gibt IMMER ein Object zurück. Und man kann einen "Renderer" NIEMALS nach String casten, da String final ist. Jediglich die toString()-Methode von String gibt einen String aus der value-Variable des Strings zurück. (Ich vermute mal einfach this, aber wie gesagt, keinen Source), deshalb kann man String einfach so ausgeben.
 
Hallo,

wenn du getSelectedItem() aufrufst, bekommst du genau das Object zurück, was in der ComboBox gewählt ist.
Ich weiß nicht ob die komplette ComboBox implementiert hast, falls nicht, kann es sein, dass ein eigener Renderer gesetzt ist und deshalb der Text in der ComboBox kürzer ist. Aber mit getSelectedItem hast du auf jeden Fall das selektierte Item.

Gruß

Sascha
 
Zurück