bonsoir a tous,
j'ai utilisé Jdom avec javaFX sur netbeans pour créer un fichier XML dans lequel j'enregistre les données via mon interface (un ensemble de JLabel et de Jtextfield) . en fait en appuyant sur le bouton Enregistrer de mon interface le contenu des JLabel et des Jtextfield sera enregistrer dans le fichier xml.
mais j'ai un probleme , lorsque je ferme l'interface et et je l'execute une autre fois , il se produit un ecrasement des données precedentes.
s'il vous plait aidez moi c'est urgent.
voila mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import com.sun.org.apache.xerces.internal.dom.DOMImplementationImpl;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import org.jdom2.DocType;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
import org.w3c.dom.DOMImplementation;
public class HBoxSample extends Application {
 
 
    static void affiche()
{
   try
   {
      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
      sortie.output(document, System.out);
   }
   catch (java.io.IOException e){}
}
 
static void enregistre(String fichier)
{
   try
   {
 
      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
 
      sortie.output(document, new FileOutputStream(fichier));
   }
   catch (java.io.IOException e){}
}
 
 
   static Element racine = new Element("personnes");
   static org.jdom2.Document document = new Document(racine);
    private void init(Stage primaryStage) {
        final Group root = new Group();
        primaryStage.setResizable(false);
        primaryStage.setScene(new Scene(root, 800,100));
        final Label label = new Label("nom:");
        final TextField tb = new TextField();
        final Button button = new Button("enregistrer");
        final Label label2 = new Label("prenom:");
        final TextField tb1 = new TextField();
        final Label label4=new Label("Tel:");
        final TextField tb2=new TextField();
        final Label label3 = new Label();
button.setOnAction(new EventHandler<ActionEvent>() {
 
@Override
    public void handle(ActionEvent e) {
 
 
 
      Element etudiant = new Element("etudiant");
      racine.addContent(etudiant);
      Element nom = new Element("nom");
 
 
      nom.setText(tb.getText());
      etudiant.addContent(nom);
 
      Element Prenom = new Element("prenom");
      Prenom.setText(tb1.getText());
      etudiant.addContent(Prenom);
      Element Tel = new Element("tel");
      Tel.setText(tb2.getText());
      etudiant.addContent(Tel);
    }
 });
        HBox hbox = new HBox(5);
        hbox.getChildren().addAll(label, tb);
        hbox.getChildren().addAll(label2, tb1);
        hbox.getChildren().addAll(label4, tb2, button);
        hbox.setAlignment(Pos.CENTER_LEFT);
        root.getChildren().add(hbox);
    }
    public double getSampleWidth() { return 800; }
    public double getSampleHeight() { return 100; }
 @Override public void start(Stage primaryStage) throws Exception {
        init(primaryStage);
        primaryStage.show();
 
 
   }
      public static void main(String[] args) {
          launch();
          affiche();
          enregistre("Exercice1.xml");
 
  }
}