scusa , non c'è errore di compilazione ,
probabilmente non ho capito la critica che mi hai fatto , sono ancora troppo
inesperto per rendermi conto ;
in chiamo il singleton così:

Jcalldate.getSingleton().preparaData();

poi chiamo :

datamia = Jcalldate.getSingleton().getData("yyyy/MM/dd-HH:mm:ss");

che mi ritorna la stringa data come desidero ;

in realtà ho fatto un solo metodo :

codice:
   public String getData(String formato_data) {

      risultato  = false;

      try {                       
          
           GregorianCalendar gc1 = new GregorianCalendar();
           Date date = new Date();
           
           SimpleDateFormat sdf = new SimpleDateFormat(formatoData);
           
           JOptionPane.showMessageDialog(null,"data 1 : " + sdf.format(gc1.getTime()));
           dataout = sdf.format(gc1.getTime());
           JOptionPane.showMessageDialog(null,"dataout : " + dataout);
 
           risultato = true ; 

           } catch (Exception e) { errore = e.getMessage(); 
                                   System.out.println("errore : " + errore);
                                   e.printStackTrace();
                                   risultato = true ; 
                                 }
 
      return dataout;

   }
però mi sembra crei ogni volta un oggetto gc1 , e questo non mi sembra tanto corretto
come uso di risorse ......