Buenas,
¿Solución más eficiente? No entiendo muy bien a que te refieres. Por otro lado el File que declaras no tiene ningún sentido si lo que vas a hacer es precisamente pedir al usuario la ruta.
Lo normal sería que primero solicites la ruta y después generes el PDF en la ruta, pero bueno... partiendo de que cuando has generado el PDF tienes el handler ByteArrayOutputStream, quedaría así
Código Java:
Ver original//Generas el PDF con iText y lo almacenas en un ByteArrayOutputStream
//ByteArrayOutputStream baos = new ByteArrayOutputStream();
//PdfWriter.getInstance(document, baos);
//[bla bla bla]
//Tu codigo
int returnVal = JFCO.showSaveDialog(null);
File fichero
= JFCO.
getSelectedFile();
fos.write(baos.toByteArray());
fos.close();
}
Un saludo