Salve ragazzi,
oggi sto affrontando un programmino relativamente semplice che però mi ha messo in difficoltà. Spiego meglio:
io ho una classe Finestra, che ha al suo interno due JTextField, chiamate Path e Nome. in pratica io devo prendere il contenuto di queste due text e scriverle su un xml. uso JDOM. cliccando su un bottone "ok" avviene la scrittura su xml e poi mi si presenta la domanda se voglio inserire un nuovo record. quindi pulisco le text e sono pronte all'uso. le riempio di nuovo e quando vado a cliccare su ok, in pratica mi riscrive l'xml e mi cancella il record precedente!!. a me servirebbe invece creare una nuova riga, mantenendo la riga precedente!! vi posto il codice, sono sicuro che è una bazzecola ma mi sfugge!!

codice:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;
import org.jdom.*;
import org.jdom.output.XMLOutputter;
import java.io.IOException;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;

/**
 *
 * @author Nicholas
 */
class CreaXML extends JFrame{
    FileLog flog=new FileLog();
    private JLabel pathFile = new JLabel("Path:");
    private JTextField txtPath = new JTextField(10);
    private JLabel nomeFile = new JLabel("Nome:");
    private JTextField txtFile = new JTextField(10);
    private JButton ok = new JButton("Ok");
    private JButton annulla = new JButton("Annulla");
    private JFrame frame = new JFrame();
    private boolean primoElemento=true;
    FileOutputStream out;
    XMLOutputter serializer;


    CreaXML(){
        frame.setTitle("Crea Properties");
        frame.setLocation(0, 0);
        frame.setLayout(new GridLayout(3,2,10,10));

        frame.add(pathFile);
        frame.add(txtPath);

        frame.add(nomeFile);
        frame.add(txtFile);

        frame.add(ok);
        frame.add(annulla);

        //frame.setUndecorated(true);
        frame.pack();
        frame.setVisible(true);
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
        annulla.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        ok.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                 boolean bRet=false;
                  //creo elemento Programmazione
                  Element elementoRadice= new Element("ElencoFile");
                  //creo elemento Titolo
                  Element elementoTitolo=new Element("File");
                  //setto il valore con quello presto da path
                  elementoTitolo.setAttribute("PathFile",txtPath.getText());
                  //setto il valore con quello preso da nome
                  elementoTitolo.setAttribute("NomeFile",txtFile.getText());
                  //aggiungo a elemento radice elemento titolo
                  elementoRadice.addContent(elementoTitolo);
                  //creo document
                  Document doc = new Document(elementoRadice);

                  try {
                      FileOutputStream out = new FileOutputStream("Elementi.xml");
                      XMLOutputter serializer = new XMLOutputter();
                      serializer.output(doc, out);
                      out.flush();
                      out.close();
                      bRet=true;
                      //se arriva qui ha scritto correttamente
                      flog.scriviLog(0,"Elementi scritto correttamente");
                      //System.out.println("XML TITOLI CREATO");
                  }
                  catch (IOException ex) {
                        //System.out.println("ERRORE XML TITOLI");
                        bRet=false;
                        flog.scriviLog(1,ex.getMessage()+" Elementi");
                        return;
                  }
                  if(bRet==true){
                      //mi chiede se voglio inserire un nuovo elemento
                      String nextEle=JOptionPane.showInputDialog("XML Elementi scritto correttamente. \n Inserire un altro elemento? (y/n)");
                      //se si
                      if(nextEle.equalsIgnoreCase("y")){
                          //chiude vecchia finestra
                          frame.dispose();
                          //riparte
                          new CreaXML();
                      }
                      else{
                          //altrimenti chiude finestra
                          frame.dispose();
                          //lancia altro programma
                          CopiaFile cf=new CopiaFile();
                          cf.connettiFTP();
                      }
                  }
                  else{
                      JOptionPane.showMessageDialog(rootPane, "Errore: Impossibile scrivere XML Elementi");
                      System.exit(0);
                  }
            }
        });
    }
    
    public static void main(String[]args) throws IOException, JDOMException, TransformerConfigurationException, TransformerException, SQLException{
        new CreaXML();
    }
}