# JComboBox: Items löschen und neue hinzufügen.



## Pennywise (14. Jun 2005)

Find nix passendes in der Suche.

Ih fülle meine ComboBox indem ich schlüssel 01 eingebe (bitte Code anschauen).
Ich gebe einen neuen Schlüssel ein, worauf meine Box geleert werden soll und neue Daten drin stehen sollen

Problem:
Meine *alten* Einträge stehen drin, aber wenn ich nen Datensatz ausähle stehen die Werte der *neuen* in den anderen Feldern.

Bin i jetzt blöd oda was?


```
public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub
        if (e.getKeyCode() == KeyEvent.VK_ENTER 
                && e.getSource().equals(this.fieldSprschl)) {
            String schluessel = this.fieldSprschl.getText();
            this.boxDruckfeld.removeAllItems();    // Einträge aus ComboBox löschen
            if (!schluessel.equalsIgnoreCase("01")
                    && !schluessel.equalsIgnoreCase("24")) {
                JOptionPane.showMessageDialog(this,
                        "Bitte geben Sie den Schlüssel 01 oder 24 ein!");
                this.fieldSprschl.setText("");
            } else {
                try {
                    sql = "select DRUFLDB from HABLIB.TXKONDRPF where SPRASL = '"
                            + schluessel + "' order by DRUFLDB";
                    System.out.println(sql);
                    if (stmDruckfeld == null) {
                        stmDruckfeld = connection.prepareStatement(sql);
                    }
                    rsDruckfeld = stmDruckfeld.executeQuery();
                    Vector vDruck = new Vector();
                    vDruck.add("");
                    while (rsDruckfeld.next()) {
                        String druckfeld = rsDruckfeld.getString(1);
                        vDruck.add(druckfeld);
                    }
                    for (int i = 0; i < vDruck.size(); i++) {
                        this.boxDruckfeld.addItem(vDruck.get(i)); //erneutes Füllen der ComboBox
                    }
                } catch (Exception exc) {
                    exc.printStackTrace();
                }
            }
        }
    }
```


----------



## timomeinen (14. Jun 2005)

Was spricht gegen die Methoden addItem() und removeItem() bzw. removeAllItems()?

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComboBox.html

Du kannst auch ein ComboBoxModel implementieren.

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/ComboBoxModel.html

Glück Auf
Timo


----------



## Pennywise (14. Jun 2005)

Ich glaub wir verstehen uns nich so ganz:

Also, Beispiel:

Angenommen ich fülle meine ComboBox mit den Mannschaften der 1. Fußballbundesliga.
Dann steht drin: Bayer, Dortmund, Stuttgart, usw.
Führe ich dann ein ItemEvent auf dieser Combobox aus (Auswahl eines Datensatzes) soll mir dieser in einem
JTextfield angezeigt werden.

Dann möchte ich die Fußballclubs der 2.Liga reinschriben.
Also lösche ich mit removeAllItems() erst die anderen die schon drin sind.
Nachdem ich meine neuen reingefüllt habe, stehen aber immer noch die Namen von bayern, Dortmund, Stuttgart, usw. drin, aber wähle ich eins aus wird der name eines fußballklubs der 2.liga ausgegeben. z.B. 1860 München


----------



## Pennywise (14. Jun 2005)

Habs gelöst, hatte nix mit JComboBox zu tun.
Hab vergessen mein Statement wieder auf null zu setzen.

Jetzt klappts einwandfrei.

Sorry.


----------

