reportmanagerimpl.java

来自「一个可以存储和打印成绩单的系统」· Java 代码 · 共 79 行

JAVA
79
字号
package org.minjey.cjsjk.report;import java.net.URL;import java.util.Vector;import javax.swing.table.AbstractTableModel;import org.jfree.report.JFreeReport;import org.jfree.report.JFreeReportBoot;import org.jfree.report.TableDataFactory;import org.jfree.report.modules.gui.base.PreviewDialog;import org.jfree.resourceloader.Resource;import org.jfree.resourceloader.ResourceCreationException;import org.jfree.resourceloader.ResourceException;import org.jfree.resourceloader.ResourceKeyCreationException;import org.jfree.resourceloader.ResourceLoadingException;import org.jfree.resourceloader.ResourceManager;import org.jfree.util.ObjectUtilities;import org.minjey.cjsjk.model.Course;import org.minjey.cjsjk.model.Major;import org.minjey.cjsjk.model.Student;public class ReportManagerImpl implements ReportManager {	public void previewCourseReport(Major major, Vector<Course> courses) {		String xmlurl = "course.xml";		CourseReportTableModel data = new CourseReportTableModel(major, courses);		Class cla = CourseReportTableModel.class;		printPreview(cla, xmlurl, data);			}	public void previewStudentReport(Major major, Vector<Student> students) {		//System.out.println("==========="+students);		String xmlurl = null;		AbstractStudentReportTableModel data = new CommonStudentReportTableModel(major, students);		Class cla = CommonStudentReportTableModel.class;		if(major.getMajorlength().getLength() == 4) {			xmlurl = "student20.xml";		} else if(major.getMajorlength().getLength() == 5) {			xmlurl = "student25.xml";		} else if(major.getMajorlength().getLength() == 6) {			xmlurl = "student30.xml";		} else if(major.getMajorlength().getLength() == 8) {			xmlurl = "student40.xml";		} else if(major.getMajorlength().getLength() == 10) {			xmlurl = "student50.xml";		} else {			return;		}		printPreview(cla, xmlurl, data);	}		private void printPreview(Class cla, String xmlurl, AbstractTableModel data) {		try {			//JFreeReportBoot.getInstance().start();			URL in = ObjectUtilities.getResourceRelative(xmlurl, cla);			ResourceManager manager = new ResourceManager();			manager.registerDefaults();			Resource res = manager.createDirectly(in, JFreeReport.class);			JFreeReport report = (JFreeReport) res.getResource();			report.setDataFactory(new TableDataFactory("default", data));			PreviewDialog frame = new PreviewDialog(report);			frame.pack();			frame.setVisible(true);		} catch (ResourceLoadingException e) {			e.printStackTrace();		} catch (ResourceCreationException e) {			e.printStackTrace();		} catch (ResourceKeyCreationException e) {			e.printStackTrace();		} catch (ResourceException e) {			e.printStackTrace();		}catch (Exception e) {			e.printStackTrace();		}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?