Добавьте это в свой метод jButton1ActionPerformed.Вам не нужно MouseClickedEvent.
try {
URL reportFileURL = getClass().getResource("C:/Documents and Settings/Lelou/Desktop/presentation/InstructorQuestionaire.jrxml");
File reportFile = new File(reportFileURL.toURI());
JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, con);
JasperViewer jv = new JasperViewer(jasperPrint);
JDialog viewer = new JDialog(this, "Batch Report", true);
viewer.setBounds(jv.getBounds());
viewer.getContentPane().add(jv.getContentPane());
viewer.setResizable(true);
viewer.setIconImage(jv.getIconImage());
viewer.setVisible(true);
} catch (JRException exc) {
System.out.println(exc.getMessage());
} catch (URISyntaxException exs) {
System.out.println(exs.getMessage());
}
(*) Обратите внимание на косую черту в имени пути.Избавьтесь от двойной обратной косой черты!
Вот ваш импорт:
import java.io.File;
import java.net.URISyntaxException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JDialog;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.JasperPrint;
Вот библиотеки, которые вам нужны (я использую iReport 4.0.1):
Большинство из них находятся здесь: C: \ Program Files \ JasperSoft \ iReport-4.0.1 \ ireport \ modules \ ext \ 1014 *
Проверьте строку подключения.Если вы сомневаетесь, используйте этот конструктор:
public MyiReportViewer() {
initComponents();
try {
Class.forName(JDBC);
//con =DriverManager.getConnection(DB);
try {
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/afemdb?useUnicode=true&characterEncoding=UTF-8",
"root", "password");
} catch (SQLException e) {
System.out.println("Con " + e);
}
} catch (ClassNotFoundException e) {
System.out.println("SQL" + e);
}
}
Если он все еще не работает, значит, что-то не так с вашим iReport.