# JCombobox neu befüllen



## maxes (26. Aug 2003)

Hallo ich hab ein kleines Problem mit einer Combobox
und zwar hab ich eine Kundendatenbank darin sind Kundendaten gespeichert (Name, Addresse usw), diese möchte ich bearbeiten können.

Jetzt hab ich eine Combobox gebastelt in die alle einträge aus der Datenbank geschrieben wird, die Einträge stehen in einem ArrayList Objekt und werden auch schon richtig ausgelesen und angezeigt.

Wenn ich nun einen neuen Datensatz hinzufüge sollte sich nun die Combobox aktualisieren nur das geht nich so wie ich will...

Kann mir jemand helfen?

Ach ja noch was kann man die Einträge auch mit mit mehreren Buchstabeneingaben selektieren z B: ich geb ein "me" und alle einträge mit "Me????" erscheinen und nicht zuerst M..... und dann E....

Danke... Markus


----------



## DTR (26. Aug 2003)

Was geht bei dir nicht?


----------



## omosde (26. Aug 2003)

Zum ersten Problem, wuerde ich dir die Methode addItem(Object) ans Herz legen und dein zweites Problem klingt nach einem KeyListener den du dann an die ComboBox haengst! Dann wirst du aber wahrscheinlich stets den gesamten Inhalt der ComboBox automatisch aendern lassen muessen, wenn eine Taste gedrueckt wird! (keyRelease() verwenden und nicht keyPressed() )!


----------



## maxes (26. Aug 2003)

in der Combobox stehen der Nachname und er Vorname







wenn ich nun einen neuen datensatz hinzufüge und zb den nachnamen ändere und speichere sollte sich auch der inhalt der combobox aktualisieren....


----------



## maxes (26. Aug 2003)

Kunden objKunden = new Kunden();
    Kunde objKunde = new Kunde();

    ArrayList colKunden = new ArrayList();

        comAuswahl.setMaximumRowCount(10);
        comAuswahl.setBackground(new java.awt.Color(204, 204, 255));
        comAuswahl.setFont(new java.awt.Font("Verdana", 1, 10));
        comAuswahl.setNextFocusableComponent(Anrede);
        //
        // Neue Hilfsvariablen anlegen
        //
        int x;
        String combo;
        //
        // Nachname und Vorname in die Combobox adden
        //
        for(x = 0; x < objKunden.colKunden.size(); x++)
        {
            objKunde = (Kunde) objKunden.colKunden.get(x);
            combo = "" + objKunde.get_nachname() + " " + objKunde.get_vorname();
            comAuswahl.addItem(combo);
        }
        comAuswahl.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                comAuswahlActionPerformed(evt);
            }
usw....


----------



## DTR (26. Aug 2003)

Da wirst du wohl die Combobox erst lehren müssen, und dann noch mal die Datenbank abfragen, um bei Änderungen aktuell zu bleiben.


----------



## maxes (26. Aug 2003)

also wenn ich aus Speichern klicke werden die änderungen ausgelesen und in die Datenbank geschreiben... das funkt

dann muss die ArrayList neue aus der Datenbank erstellt werden... das geht auch

jetzt muss ich dann mit            

comAuswahl.removeAllItems();

alle Itehms löschen und dann wieder mit der for Schleife neu befüllen..???


----------



## DTR (26. Aug 2003)

Das müsste gehn.


----------



## mariopetr (27. Aug 2003)

ist aber viel zu umstaendlich.
1 || 2 || 3 
1. falls du das kundenObjekt an die combobox gibst, must du sie nur updaten (per event oder mit update())
3. das _eine_ item entfernen und wieder hinzufuegen


----------

