Tengo problemas para generar un reporte sencillo con jasperreport en java, error que me sale: "documento no tiene paginas"

saludos amigos, espero todos esten bien, estoy tratando de aprender a hacer reportes en jasperreport y no puedo, me genera el archivo pdf o el visor del archivo pero dice que "el documento no tiene paginas"

el codigo que utilice para generar el reporte es este:

package carnetizacion.runner;

import carnetizacion.controlador.Controlador;
import carnetizacion.utilidades.conexion.Conexion;
import carnetizacion.vista.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import net.sf.jasperreports.engine.JRException;
import org.jvnet.substance.SubstanceLookAndFeel;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.engine.JasperFillManager;
import carnetizacion.utilidades.conexion.Conexion;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRExporter;
import net.sf.jasperreports.engine.JRExporterParameter;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.ReportContext;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.view.JasperViewer;

public class run {
public static void main(String args[]) throws SQLException{
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {

try {
Class.forName("com.mysql.jdbc.Driver");
try {
Connection conexion = DriverManager.getConnection("jdbc:mysql//localhost:3307/carnet","root","15242874");
JasperReport reporte;
JasperPrint reporte_view;
try{
String ubicacion = "src/carnetizacion/reportes/carnet.jasper";
reporte = (JasperReport) JRLoader.loadObject(ubicacion);
Map parametros = new HashMap();
parametros.clear();
parametros.put("clave", "M0002");
parametros.put("cedula", "v-15565092");
parametros.put("nombres", "MARCIA S.");
parametros.put("apellidos", "JURADO Z.");
parametros.put("codigo", "15565092");
String ruta = "C:\\Documents and Settings\\familia\\Mis documentos\\Mis imágenes\\foto-equipo-39.png";
parametros.put("ruta", ruta);
reporte_view= JasperFillManager.fillReport(reporte, parametros, conexion);
JasperViewer.viewReport(reporte_view);
//LLEGUE HASTA AQUI! 27 DE ENERO DEL 2013
}catch (JRException error){
error.printStackTrace();
JOptionPane.showMessageDialog(null, "Error cargando el reporte! ",error.getMessage(),JOptionPane.ERROR_MESSAGE);
}
} catch (SQLException ex) {
Logger.getLogger(run.class.getName()).log(Level.SEVERE, null, ex);
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(run.class.getName()).log(Level.SEVERE, null, ex);
}

}

});
}

}

la cuestion es que no me muestra las variables, y la conexión me dice "java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3307/carnet"

cuando pruebo el reporte en preview con ireport me pide los parametros y fino los agrego y funciona, pero desde el codigo en java nada, ¿Me pueden asesorar?

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de franklinitiel

amigos ya lo solucione

saludos amigo ya lo solucione, tenia problemas con la conexión pero ya!, luego me toco importar al patch de mi ide todos los jars adecuados para la aplicacion y perfecto ahora si, de todas maneras el codigo le puede servir a alguien, aqui lo dejo!

package carnetizacion.runner;

import carnetizacion.controlador.Controlador;
import carnetizacion.utilidades.conexion.Conexion;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

public class run {
public static void main(String args[]) throws SQLException, JRException{
Conexion conn = new Conexion();
run r = new run();
r.generarReporte(conn);
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
Controlador c = new Controlador();
}

});
}

public void generarReporte(Conexion conn) throws SQLException, JRException{
Connection conexion = conn.devolverConexion();
System.out.println(conexion);
JasperReport reporte;
JasperPrint reporte_view;
String ubicacion = "src/carnetizacion/reportes/carnet.jasper";
reporte = (JasperReport) JRLoader.loadObject(ubicacion);
Map parametros = new HashMap();
parametros.clear();
parametros.put("clave", "M0001");
parametros.put("cedula", "v-15242874");
parametros.put("nombres", "FRANKLIN G.");
parametros.put("apellidos", "SARMIENTO C.");
parametros.put("codigo", "15242874");
String ruta = "C:\\Documents and Settings\\familia\\Mis documentos\\Mis imágenes\\foto-franklin.png";
parametros.put("ruta", ruta);
reporte_view= JasperFillManager.fillReport(reporte, parametros, conexion);
JasperViewer.viewReport(reporte_view);

}

}