package reportes;
import java.awt.Dimension;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
//Explicación: Tomcat reconoce que log4j ha sido cargado, pero advierte que no hay archivo properties. No lo hay para Tomcat, sólo lo hemos puesto en nuestro contexto de aplicación. El mensaje es inofensivo, lo que se dice a continuación puede evitar esta advertencia.
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.log4j.*;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.swing.JRViewer;
public class Main {
Connection conn = null;
public void initConnection() {
String HOST = "jdbc:mysql://localhost:3306/concesionaria";
String USERNAME = "root";
String PASSWORD = "mariscos";
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
try {
conn = DriverManager.getConnection(HOST, USERNAME, PASSWORD);
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public void showReport() {
//Path to your .jasper file in your package
//String reportName = "id/hans/employee/report/EmployeeReport.jasper";
String reportName = "reportes/Report3.jasper";
//Get a stream to read the file
InputStream is = this.getClass().getClassLoader().getResourceAsStream(reportName);
if (is == null) {
System.out.println("Archivo jasper no se encontró");
}
try {
//Fill the report with parameter, connection and the stream reader
JasperPrint jp = JasperFillManager.fillReport(is, null, conn);
//Viewer for JasperReport
JRViewer jv = new JRViewer(jp);
//Insert viewer to a JFrame to make it showable
JFrame jf = new JFrame();
jf.getContentPane().add(jv);
jf.validate();
jf.setVisible(true);
jf.setSize(new Dimension(800, 600));
jf.setLocation(300, 100);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} catch (JRException ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
Main ma = new Main();
ma.initConnection();
ma.showReport();
}
}