JComboBox setSelectedItem() und getSelectedItem() NullPointer

Mattata

Mitglied
Hallo!
Ich habe ein ziemlich seltsames Problem in meinem Programm. Und zwar habe ich einen JFrame mit zwei JComboboxes, die ich mit Items befülle. Beim ersten Programmaufruf wird mir aber immer eine NullPointer Exception zurückgegeben wenn ich zum ersten Mal das selectedItem abfrage (welches ich eigentlich vorher mit entsprechender set-methode festgelegt habe).
Erfrage ich das selectedItem an anderer Stelle bzw. später im Code noch einmal, dann klappt es, ohne dass ich irgendwas verändert habe.

Um das Problem zu verstehen, habe ganz klein angefangen und einfach mal in einer leeren main-methode meinen Jframe gestartet:

Java:
 public static void main(String[] args) {
        AuswahlGUI.main(args);
        AuswahlGUI.jComboBox1.setSelectedItem("1980");
        AuswahlGUI.jComboBox1.setSelectedIndex(0);
        System.out.println(AuswahlGUI.jComboBox1.getSelectedItem().toString());
    }

Selbst hier gibt es eine NUllPointerException, was mal so garnicht in meinen Kopf rein will. Ich habe doch vorher das selectedItem gesetzt?

Wäre echt dankbar, wenn mir jemand helfen könnte :/

lG,

Matta
 
die Methoden "setSelectedItem(anItem)" und "setSelectedIndex(anIndex)" machen in Endeffekt das gleiche...sie sorgen dafür, dass ein bestimmtes Element deiner JComboBox ausgewählt wird.
Entweder wird das ausgewählte Element deiner JCombobox nach einem Index, oder nach einem Object ausgesucht.

in diesem KSKB kannst du das wunderbar sehen.

Was du da machst, kann ich leider nicht nachvollziehen...aber evtl. kann das ein andere(r)
Java:
import java.awt.Dimension;
import java.awt.GridBagLayout;

import javax.swing.JComboBox;
import javax.swing.JFrame;

public class JCB_SelItem {

	public JCB_SelItem() {
		JFrame frame = new JFrame();
		frame.setLayout(new GridBagLayout());
		frame.setSize(new Dimension(200, 200));
		String[] string = { "Alpha", "Beta", "Charlie" };
		JComboBox jcb = new JComboBox(string);
		jcb.setSelectedIndex(0);
		System.out.println("Der selektierte Index ist: " +jcb.getSelectedIndex());
		jcb.setSelectedItem("Beta");
		System.out.println("Das selektierte Item ist: " +jcb.getSelectedItem() + " und wird angezeigt ;)");
		frame.add(jcb);
		frame.setVisible(true);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public static void main(String[] args) {
		new JCB_SelItem();
	}

}
 
Mein Problem hat sich inzwischen gelöst... es war ein Bug, der irgendwie durch NetBeans ausgelöst wurde. Wenn ich die IDE neu starte, funktioniert alles wieder.

Trotzdem vielen Dank!
 

Zurück
Oben