# JComboBox - ChangeListener



## Spliffster (17. Jun 2004)

Hallo,

ich programmiere erst seit ein paar Tagen mit Java, und habe ein Objekt einer JComboBox.

Wenn der User darin etwas anderes auswählt, soll eine Aktion ausgeführt werden. Soviel ich weiß also mit ChangeListener.


```
JComboBox combo new = JComboBox(items);
combo.addChangeListener(AMain);
```

Aber da kommt bei mir immer ein Fehler: The method addChangeListener(MainAction) is undefined for the type JComboBox


Vielleicht könnt ihr mir da ja helfen?  :roll:


----------



## bygones (17. Jun 2004)

schau einfach mal in die API: http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JComboBox.html
da findest du alle Listener die für JCOmbobox relevant sind


----------



## Spliffster (17. Jun 2004)

Also so wie ich das dort lese, benutzt man dazu was ich vorhabe also den ItemListener.

Vielen Dank!!

[schild=1 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]java-forum.org[/schild]


----------



## Spliffster (17. Jun 2004)

Ich schonwieder,

habs gerade versucht mit dem addItemListener, aber ich kiregs grad mal nicht hin.


```
JComboBox combo = new JComboBox(Status);
combo.setSelectedItem("Verkaufen");
combo.addItemListener(ItemListener, AMain);
```

Hier sagt er mir, das es den ItemListener nicht gibt.

vielleicht könnt ihr mir ein kleines Beispiel aufschreiben, bzw. sagen wo eins steht?


----------



## Illuvatar (17. Jun 2004)

Deine Klasse muss ItemListener implementieren

```
public class [Klassenname] extends [Superklasse] implements ItemListener
```

Dann musst du die Methode itemValueChanged überschreiben, und darfst dann

```
addItemListener (this);
```
schreiben.

In der itemValueChanged-Methode schreibst du dann, was passieren soll.


----------



## thE_29 (18. Jun 2004)

```
cbVon.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        //wenn die ComboBox durch die Maus mit Button1 geändert wird
        if (e.paramString().indexOf("modifiers=Button1") != -1 &&
            e.getActionCommand() == "comboBoxChanged")
        {
           System.out.println("mit maus geändert");
        }
      }
     }
```


Habs nur mit Maus gebraucht und wenn man Enter drück mach halt einfach nen KeyListener drauf, dann brauchst du es auch nicht implements machen und keinen mit this dazuhängen!


----------

