# JComboBox setSelectedItem() und getSelectedItem() NullPointer



## Mattata (3. Aug 2010)

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:


```
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


----------



## jgh (3. Aug 2010)

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)

```
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();
	}

}
```


----------



## Mattata (3. Aug 2010)

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!


----------

