Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich hoffe ihr könnt mir helfen.
Ich habe in Eclipse etwas programmiert, es funktionir alles os wie ich möchte. Nun habe ich es als jar exportiert und konnte es auch starten. Als ich dann es testen wollte, hinzufügen ändern löschen, funktionert auch alles. Wenn ich es dann schliesse und wieder öffne sind meine Änderungen nicht mehr vorhanden. Was habe ich falsch gemacht?
Also entweder du speicherst die Daten nach jeder Änderung, oder beim Schließen des Programms. Sprich, du musst die Daten, die in deinem Baum sind wieder in die Datei schreiben, aus der du sie Anfangs ausgelesen hast. Problematisch kann das ganze werden, wenn sich die Datei aus der du die Daten gelesen hast ebenfalls in dem jar-File befindet, weil du nicht einfach in deinem jar-File rum schreiben kannst. Die Datei sollte sich also außerhalb der jar befinden.
Also die daten importiere ich in einem tree von einem csv file welche sich in einem Ordner bei mir auf dem desktop befinden.Dann nehme ich die Änderungen vor.
Es würd es besser finden, wenn das alles gespeichert wird, wenn ich das Fenster schliesse. Weiss aber nicht wie ich das machen soll. Hats du eine Idee?
Ich habe folgendes gefunden, das man über einen Button speichern kann, habe es auch so mit einem Button probiert geht aber leider nicht.
Nun ja das Speichern musst du schon selber vornehmen. D.h. du musst für den Baum in deiner Applikation einen Parser schreiben, der jeden Knoten erfasst und ihn dann in dem Format abspeichert in dem du es auch geladen hast.
Wie hast du die Daten für deinen Baum denn geladen? Über einen eigenen Parser, oder gab es da schon etwas fertiges? Je nachdem könntest du ja nachgucken, ob es dann auch einen Parser gibt, der dir den Baum wieder in das gewünschte Format schreibt.
Edit: Letztendlich musst du dieses
Code:
pem.saveToCSVFile(null);
selber schreiben. Dabei sollte wohl das
Code:
null
durch den Pfad zu der Speicher-Datei ersetzt werden, den du mittels JFileChooser auswählen könntest. Der JFileChooser ist aber nur ein Auswahldialog und übernimmt nicht das Speichern selbst.
also es gibt node welche ich importiere, und es gibt solche, welche ich "direkt" im COde einlese also über
Java:
BufferedReader in = new BufferedReader(new FileReader(new File("C:/Users/ana/workspace/test/src/test.csv")));
die welche ich "direkt einlese", kann ich ändern und die änderung bleibt auch bestehen, die anderen welche ich importiere verschwinden dann wieder... ich probier mal das was du noch ergänz hast.
danke
Ich versteh nicht ganz wo du unterscheidest zwischen Daten importieren und Daten "direkt" im Code über BufferedReader einlesen. Wie "importierst" du denn?
Tja beim Speichern musst du also eigentlich jede Node deines Baumes durchgehen und dann mit BufferedWriter abspeichern. Also eigentlich den umgekehrten Weg gehen.
Was mir aber sofort bei deinem Code auffällt sind diese Konstruke:
Java:
while ((in.readLine()) != null)
//while ((str = in.readLine()) != null)
{
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(in.readLine());
newNode.add(node1);
}
Ist es gewollt, dass du jede zweite Zeile beim einlesen überspringst? Weil du rufst immer zwei Mal in.readLine() auf, erstellst aber nur beim zweiten Mal eine neue TreeNode.
ich versuch das mit bufferedWriter. Nein es ist eigentlich nicht gewollt, dass ich ejde 2 Zeile überspringe und ich seh den Fehler nichtm, was muss ich ändern, dass es jede Zeile liest?