Oseaa tomar la tabla que esta activa con los registros y mandar el reporte asi automatico como hacen los sistemas de oxxo del walrtmart etc...
bueno con este codigo automaticamente me manda a imprimir......esto seria una
Código
try { //Mensaje de encabezado //Mensaje en el pie de pagina //Imprimir JTable Logger.getLogger(frmImprimir_JTable.class.getName()).log(Level.SEVERE, null, ex); } }
ahoraa me pregunto si tal si le paso un query y de ese query me genera el reporte,perooo el reporte lo tengo que diseñar...con ireport...sigo buscando de como hacer esto pasando un query y que de ahi me genere el reporte..algo como esto
Código
package imprimir_jtable; import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.export.*; import net.sf.jasperreports.engine.util.*; import net.sf.jasperreports.view.*; import java.sql.*; import java.io.*; import java.util.*; public class Main { public Main() { } // TODO code application logic here try { //Ruta de Archivo Jasper //Ruta de archivo pdf de destino //Ruta de archivo xls de destino //Pasamos parametros al reporte Jasper. //Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte). //Creación del PDF JasperExportManager.exportReportToPdfFile(jasperPrint,destFileNamePdf); //Creación del XLS JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFileNameXls); exporter.exportReport(); } { } } /**Metodo para crear la conexion a DB*/ //Configuración de la conexión. Class.forName(driver); //Retornamos la conexión establecida. return conn; } }
esta otra manera encontre donde se le pasan las columnas y las filas pero ahi ya estan declaradas como seria para pasarle un query me lo genere de ese resultado....aqui ocupan la libreria libreria itext
Código
package imprimir_jtable; import java.awt.BorderLayout; import java.awt.Graphics2D; import java.awt.Shape; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.FileOutputStream; import java.io.IOException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.JToolBar; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.PageSize; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfWriter; public JTable2Pdf() { setTitle("JTable test"); createToolbar(); createTable(); }); } private void createTable() { {"Mary", "Campione", "Snowboarding", new {"Alison", "Huml", "Rowing", new {"Kathy", "Walrath", "Chasing toddlers", {"Mark", "Andrews", "Speed reading", new }; {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"}; // Use a panel to contains the table and add it the frame } private void createToolbar() { print(); } }); exit(); } }); tb.add(printBtn); tb.add(exitBtn); } /////////ojoo aqui es para imprimir el pdf private void print() { try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\Hacker\\Desktop\\myy_jtable_fonts.pdf")); document.open(); PdfContentByte cb = writer.getDirectContent(); // Create the graphics as shapes cb.saveState(); // Print the table to the graphics g2.clipRect(0, 0, 500, 500); table.print(g2); g2.setClip(oldClip); g2.dispose(); cb.restoreState(); document.newPage(); // Create the graphics with pdf fonts cb.saveState(); g2 = cb.createGraphics(500, 500); // Print the table to the graphics oldClip = g2.getClip(); g2.clipRect(0, 0, 500, 500); table.print(g2); g2.setClip(oldClip); g2.dispose(); cb.restoreState(); e.printStackTrace(); } document.close(); } /** * Exit app */ private void exit() { } JTable2Pdf frame = new JTable2Pdf(); frame.pack(); frame.setVisible(true); frame.print(); frame.exit(); } }v
y esto me da como resultado esto...
no se si ustedes me podria ayudar o dar alguna sugerenciaa de como han ustedes trabajado con esto y solucionado,si no es mucha molestiaa...de antemano muchas gracias saludos...maness.... seguire buscando en el sen sei google e ir implementando aver si me sale algo decente ..