probleme mit getselectedItem!

yasukatakaya

Mitglied
Hallo,
ich habe hier eine bekannte Methode addItemListener, die reagiert, wenn bei z.B. jComboBox was selektiert wird, das selektierte String wird dann in den String str2 gespeichert, nun mein Problem ist, dass ich den String auch später noch verwenden will und man kann auf ihn nicht mehr zugreifen, weil dieser in der Methode ist, wie kann ich auf den String str2 noch zugreifen?


Hier ist die Methode:
HTML:
jComboBox2.addItemListener(new ItemListener()
        {
            public void itemStateChanged(ItemEvent e)
            {
                String str2 = (String)jComboBox2.getSelectedItem();
            }
        });

//Es klappt schon nicht, wenn ich z.B. nur die Variable hier ausgeben will, wie z.B.
System.out.println(str2);

Gruss
 
Du könntest ihn in einer statischen Klassenvariablen (Globale Variable) zwischenspeichern.
Oder besser noch, wenn du mehrer solche Fälle hast, machst du eine Klasse in der du solche Werte Zwischenspeicherst
 
In meinen Augen macht es wenig Sinn, diesen String außerhalb noch weiter verwenden zu wollen, denn du hast ja eigentlich gar keine Ahnung ob diese Variable überhaupt schon einen Wert enthält. Also deinem str2 wird ja erst dann was zugewiesen, wenn jemand in der JComboBox was ausgewählt hat. Also selbst wenn sie global wäre, würde noch die Gefahr bestehen, dass sie noch nicht initialisiert ist (oder null).

Aber: deine JComboBox scheint ja schon als globale Variable zu existieren. Warum holst du dir nicht erst in dem Moment wo du den Inhalt brauchst das (String)jComboBox2.getSelectedItem()?
 
Zurück