📄 report.java
字号:
package com.personnel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.Toolkit;
import javax.swing.JOptionPane;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import java.util.Map;
import java.util.HashMap;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Report {
private static final long serialVersionUID = 1L;
private DbManager dbManager = new DbManager(DbManager.MYSQL_DRIVER,
DbManager.MYSQL_URL, "root", "6581502",
DbManager.TYPE_SCROLL_SENSITIVE, DbManager.CONCUR_UPDATABLE);
ResultSet rs;
String sql = new String();
private javax.swing.JFrame parent = null;
public Report(javax.swing.JFrame parent) {
this.parent = parent;
}
public void showReport(String reportName, String query) {
this.rs = this.dbManager.executeQuery(query);
try {
if (this.rs.first()) {
this.rs.beforeFirst();
// 参数列表
Map parameters = new HashMap();
// 转换结果集
JRResultSetDataSource jrDataSource = new JRResultSetDataSource(
this.rs);
try {
JasperCompileManager.compileReportToFile(reportName);
int index = reportName.lastIndexOf(".");
String asperFile = reportName.substring(0, index)+".jasper";
// 通过report.jasper报表模版输出报表
JasperFillManager.fillReportToFile(asperFile,
parameters, jrDataSource);
String printFile = reportName.substring(0, index)+".jrprint";
// 打印预览视图,可以另存为PDF,HTML等格式文件
JasperViewer view = new JasperViewer(printFile, false,
false);
view.setSize(800, 800);
view.setLocation(parent.getX()+20, parent.getY()+20);
view.setVisible(true);
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
JOptionPane.showMessageDialog(null, "记录为空");
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "连接数据库失败");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -