unltd Geschrieben 20. August 2008 Geschrieben 20. August 2008 Hallo, ich habe mir ein kleines Programm gebastelt, das aus einer Datenbank etwas ausliest und mir die daten in einem JTree darstellt. Daneben ist dann ein weiteres Panel indem noch ein paar weitere daten des Datensatzes angezeigt werden. Wenn ich diesen nun bearbeite, und speichere soll sich der Baum die Daten neu von der Datenbank holen. Es geht mir vorallem um die Namen der Datensätze, da ich diese auch als namen der Nodes verwende. Und wenn diese nichtmehr aktuell sind, läuft mein ganzes Programm nichtmehr ... Wie kann ich nun den Tree auffordern alles neu zu laden? Der Tree ist mit einem Model und einem Listener aufgebaut, aber weder update noch treeDidChange bringen was. Bitte helft mir... unltd Zitieren
Kaeyu Geschrieben 20. August 2008 Geschrieben 20. August 2008 Hallo, ich habe mir ein kleines Programm gebastelt, das aus einer Datenbank etwas ausliest und mir die daten in einem JTree darstellt. Wie kann ich nun den Tree auffordern alles neu zu laden? Du weißt doch anscheinend wie man das macht, warum fragst du dann?:confused: Um die Daten speichern zu können, muss man doch bestimmt auf irgendeinen Button oder so klicken. "Schmeiß" deinen Code in das Event Handling rein, pass ihn ein wenig an und fertig Edit: Wenn du nur die Anzeige der Nodes im JTree Aktualisieren willst, dann mach es mit .updateUI(). Zitieren
unltd Geschrieben 20. August 2008 Autor Geschrieben 20. August 2008 (bearbeitet) Es geht mir ja nur darum die Daten im Baum zu erneuern. Ich habe praktisch einen Node1 und da ändere ich den namen auf Node2. Wie bekomme ich dann da die Änderung in den Baum. In der Datenbank wird ja alles fein gespeichert. Und dieses updateUI() bringt mal absolut nichts. Edit: habe es gerade auch über das TreeModel mit treeModel.nodeChanged(node); treeModel.reload(); versucht, da schliesst sich nur der knoten.. ändern tut sich nix Bearbeitet 20. August 2008 von unltd Zitieren
kingofbrain Geschrieben 20. August 2008 Geschrieben 20. August 2008 Servus, was Kaeyu sagen will, ist: Du bekommst die Daten doch initial auch in den Baum. Wenn sich die Werte in der Datenbank ändern, dann machst Du genau das selbe wie bei der ersten Befüllung. Daten aus der Datenbank lesen und im Baum anzeigen. Wenn Du nur einzelne Werte ändern willst, dann wirst Du von dem Punkt aus, der einen Wert ändern kann, eine Nachricht schicken müssen, die vom Tree Controller empfangen wird, der anhand des Inhalts der Nachricht den relevanten Teil aktualisieren kann. Peter Zitieren
unltd Geschrieben 20. August 2008 Autor Geschrieben 20. August 2008 Das ist mir schon klar das ich die daten genau wie bei der initialisierung in den Baum bekommen kann. Nur hatte ich nach einer etwas einfacheren Möglichkeit gesucht. Weil ich habe diesen leeren Baum in einer Klasse erstellt, dann das TreeModel und das ganze als ein JPanel verpackt. Sorry ich kenne mich mit Fenstern und soetwas garnicht aus :confused: Kann ich nicht zu meinem Hauptfenster einfach nochmal ein Panel an die stelle hinsetzen an der der alte Baum war? Also von meiner TreeKlasse (extends JPanel) einfach ein objekt erzeugen, dieses dann mit add an das Hauptfenster dranpappen? Zitieren
kingofbrain Geschrieben 20. August 2008 Geschrieben 20. August 2008 Servus nochmal, leider sind mir Deine Fragestellungen zu mühsam zu lesen, deshalb muss ich mich leider verabschieden. Wenn Du weißt, dass es mit einer kompletten Neuinitialisierung klappt, warum sagst Du das nicht? Stell doch einfach konkretere Fragen, am besten mit Beispielcode und genauer Fehlerbeschreibung, dann finden sich bestimmt auch Leute, die Dir helfen. Peter Zitieren
bigredeyes Geschrieben 20. August 2008 Geschrieben 20. August 2008 Es geht mir ja nur darum die Daten im Baum zu erneuern. ... ich würde mal das treemodel neu einlesen. bigredeyes Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.