2017-11-17 9 views
0

최근에 가장 최근 jasper-reports lib로 프로젝트를 업데이트했습니다. 이전 JRViewer 클래스 (net.sf.jasperreports.swing)를 대체 한 새로운 JRViewer 클래스 (net.sf.jasperreports.swing)가 있습니다. 이제 내보내기 옵션을 설정하는 방법을 알 수 없습니다.어떻게 JRViewer 내보내기 옵션을 설정합니까?

JRPdfSaveContributor pdf = new JRPdfSaveContributor(locale, resBundle); 
JRRtfSaveContributor rtf = new JRRtfSaveContributor(locale, resBundle); 
JRSingleSheetXlsSaveContributor xls = new JRSingleSheetXlsSaveContributor(locale, resBundle); 
JRDocxSaveContributor docx = new JRDocxSaveContributor(locale, resBundle); 
viewer.setSaveContributors(new JRSaveContributor[] { pdf, rtf, xls, docx }); 

답변

2

당신은 net.sf.jasperreports.swing.JRViewer를 확장하고 JRViewerToolbar에 수출 기여를 설정해야합니다 : 이전 코드는 같았다. 다음과 같은 내용 :

public class MyJRViewer extends JRViewer { 
    //define the constructor that you use 
    public MyJRViewer(JasperPrint jasperPrint) { 
     super(jasperPrint); 
    } 

    @Override 
    protected JRViewerToolbar createToolbar() { 
     JRViewerToolbar toolbar = super.createToolbar(); 

     Locale locale = viewerContext.getLocale(); 
     ResourceBundle resBundle = viewerContext.getResourceBundle(); 
     JRPdfSaveContributor pdf = new JRPdfSaveContributor(locale, resBundle); 
     JRRtfSaveContributor rtf = new JRRtfSaveContributor(locale, resBundle); 
     JRSingleSheetXlsSaveContributor xls = new JRSingleSheetXlsSaveContributor(locale, resBundle); 
     JRDocxSaveContributor docx = new JRDocxSaveContributor(locale, resBundle); 
     toolbar.setSaveContributors(new JRSaveContributor[] {pdf, rtf, xls, docx}); 

     return toolbar; 
    } 
}