airhck Posted April 28, 2011 Report Share Posted April 28, 2011 hola, les escribo porke necesito urgente la sabiduria de algun master en java XD! pasa lo siguente estoy haciendo una aplicacion en java que convierte los datos ingresados desde una ventana a un documento pdf, la cual debiera guardarse en algun lugar que el usuario desee =) el punto es que eso no pasa y el archivo se guarda en la carpeta raiz del programa, he visto los 2489756298725 tutoriales de jfilochooser existentes en google pero ninguno me ha servido les adjunto el codigo: private void btGeneraActionPerformed(java.awt.event.ActionEvent evt) { Document formato= new Document(PageSize.LETTER,50, 50, 50, 72); FileOutputStream ficheropdf = null; try { ficheropdf = new FileOutputStream("informe.pdf"); } catch (FileNotFoundException ex) { JOptionPane.showMessageDialog(null," "+ex.getMessage(),"archivo abierto",0); } try { PdfWriter.getInstance(formato, ficheropdf).setInitialLeading(20); } catch (DocumentException ex) { Logger.getLogger(EcoHelp.class.getName()).log(Level.SEVERE, null, ex); } formato.open(); PdfPTable tabla = new PdfPTable(3); tabla.addCell("Nombre Mascota: "+txMascota.getText()); tabla.addCell("Especie: "+txEsp.getText()); tabla.addCell("Raza: "+txRaza.getText()); tabla.addCell("Edad: "+txEdad.getText()); if(RbMacho.isSelected()) { tabla.addCell("Sexo: Macho"); } else if(RbH.isSelected()) { tabla.addCell("Sexo: Hembra"); } tabla.addCell("Medico Solicitante: "+txMedico.getText()); tabla.addCell("Clinica: "+txClinica.getText()); tabla.addCell("Dueño: "+txDueno.getText()); tabla.addCell("Fono: "+txFono.getText()); tabla.addCell("Fecha: "+txFecha.getText()); try { //Image logo= Image.getInstance("logo.png"); //logo.setAlignment(Chunk.ALIGN_LEFT); //logo.scaleToFit(100,55); //formato.add(logo); Paragraph titulo = new Paragraph("Servicio Ecográfico Móvil",FontFactory.getFont("arial",14,Font.ITALIC,BaseColor.BLACK)); titulo.setAlignment(Chunk.ALIGN_CENTER); formato.add(titulo); formato.add(new Paragraph(" ")); formato.add(tabla); formato.add(new Paragraph(" ")); formato.add(new Paragraph("____________________________________________________________________________")); formato.add(new Paragraph("Informe:",FontFactory.getFont("arial",12,Font.BOLD,BaseColor.BLACK))); formato.add(new Paragraph(" ")); formato.add(new Paragraph(jTextArea1.getText())); formato.add(new Paragraph("____________________________________________________________________________")); formato.add(new Paragraph("Conclusion:",FontFactory.getFont("arial",12,Font.BOLD,BaseColor.BLACK))); formato.add(new Paragraph(jTextArea2.getText())); formato.add(new Paragraph(" ")); Paragraph nota=new Paragraph("----Documento generado por software de manera automática----",FontFactory.getFont("arial",10,Font.NORMAL,BaseColor.GRAY)); nota.setAlignment(Chunk.ALIGN_CENTER); formato.add(nota); formato.add(new Paragraph(" ")); Paragraph nombre= new Paragraph(" xxxxxxxxx"); nombre.setAlignment(Chunk.ALIGN_BOTTOM); Paragraph prof=new Paragraph(" xxxxxxxx"); prof.setAlignment(Chunk.ALIGN_BOTTOM); Paragraph adic=new Paragraph(" xxxxxx"); adic.setAlignment(Chunk.ALIGN_BOTTOM); formato.add(nombre); formato.add(prof); formato.add(adic); formato.close(); // hasta aqui todo bien con la creacion del documento!!! JFileChooser guarda=new JFileChooser(); guarda.setFileSelectionMode(JFileChooser.FILES_ONLY); FileNameExtensionFilter filtro= new FileNameExtensionFilter("archivos pdf","pdf"); guarda.setFileFilter(filtro); File f= new File("informe.pdf"); guarda.setSelectedFile(File.class.cast(f)); int seleccion = guarda.showSaveDialog(this); if(seleccion==JFileChooser.APPROVE_OPTION) { //se supone que en este punto deberia guardar pero el archivo que sale es de 0kb FileOutputStream sale= new FileOutputStream(guarda.getSelectedFile()); JOptionPane.showMessageDialog(null,guarda.getSelectedFile().getName()+ " creado exitosamente en: "+guarda.getSelectedFile().getAbsolutePath()); sale.close(); } } catch (DocumentException ex) { JOptionPane.showMessageDialog(null, "error "+ex.getMessage()); } catch ( Exception e) { JOptionPane.showMessageDialog(null,"error "+e.getMessage()); } } Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now