# JComboBox-Inhalt durch neues Array ersetzen



## Avanir (5. Mrz 2012)

Hallo zusammen!

ich bin gerade dabei ein kleines Programm zum vereinfachten Eingeben unserer Abiturrankings zu schreiben (was mittlerweile länger dauert als es einfach aufzuschreiben, aber naja), stoße aber leider gerade auf ein kleines Problem bei meiner GUI.

Und zwar habe ich zwei JComboBoxes, in der ersten wählt man jeweils Lehrer/Schüler aus und in der zweiten das zugehörige Ranking. Das sieht dann in etwa so aus:







Durch klicken der oberen beiden Buttons soll zwischen Lehrern und Schülern gewechselt werden können.
Dafür muss sich allerdings wiederum der Inhalt der Comboboxes ändern.

Mein bisheriger Ansatz sah so aus:


```
public void actionPerformed(ActionEvent e)
    {
        Object lSource = e.getSource();
        if (lSource.equals(zGo))
        {
            go();
        }
        else if(lSource.equals(schuelerbutton))
        {
            zDefinition.setText("Schüler: ");
            zAuswahl = new JComboBox(schueler);
        }
        else if(lSource.equals(lehrerbutton))
        {
            zDefinition.setText("Lehrer: ");
            zAuswahl = new JComboBox(lehrer);
        }
    }
```

lehrer und schueler sind jeweils String-Arrays die die Namen aller Lehrer/Schüler enthalten.

Sobald ich jetzt aber damit die Comboboxen ändere schmeißt es mir einen brutalen Fehler:

```
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at javax.swing.DefaultComboBoxModel.<init>(DefaultComboBoxModel.java:53)
	at javax.swing.JComboBox.<init>(JComboBox.java:175)
	at GUI.actionPerformed(GUI.java:184)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6288)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6053)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Component.dispatchEventImpl(Component.java:4651)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Component.dispatchEvent(Component.java:4481)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
	at java.awt.Container.dispatchEventImpl(Container.java:2085)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4481)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:602)
	at java.awt.EventQueue$1.run(EventQueue.java:600)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:616)
	at java.awt.EventQueue$2.run(EventQueue.java:614)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
```

Ich habe jetzt nach längerer Recherche leider noch keinen vernünftigen Weg gefunden, ich hoffe ihr könnt mir weiter helfen!

:toll:


----------



## Ebenius (5. Mrz 2012)

```
zAuswahl.setModel(new DefaultComboBoxModel(schueler));
```

Ebenius


----------



## Avanir (5. Mrz 2012)

Hi,

danke für die Antwort, hat funktioniert! :toll:


----------

