此示例显示如何将 表从Java打印到指定的打印机(Swing)。
下载Stimulsoft Reports Java最新版本
此示例显示如何将 表从Java打印到指定的打印机(Swing)。
首先,创建JFrame并设置必要的选项。
public static void main(final String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { try { JFrame frame = new JFrame(); frame.add(new Printing(frame)); frame.setSize(FRAME_SIZE); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } catch (Throwable e) { StiExceptionProvider.show(e, null); } } });}
接下来,在主面板上添加打印按钮。 作为操作,我们将打印 告定义为默认打印机。
JButton button = new JButton("Print");leftPanel.add(button);button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { StiReport report = getReport(); PrinterJob printerJob = StiPrintHelper.preparePrinterJob(report.getRenderedPages()); try { StiPrintHelper.printJob(printerJob, report, true); } catch (PrinterException pe) { StiExceptionProvider.show(pe, null); } }});
接下来,添加用于选择打印机的元素和用于将 告打印到所选打印机的按钮。
final JComboBox printerList = new JComboBox(PrintServiceLookup.lookupPrintServices(null, null));rightPanel.add(printerList);printerList.setSelectedIndex(0);button = new JButton("Print");rightPanel.add(button);button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { StiReport report = getReport(); PrinterJob printerJob = StiPrintHelper.preparePrinterJob(report.getRenderedPages()); try { AttributeSet attr_set = new HashAttributeSet(); PrintService printService = (PrintService) printerList.getSelectedItem(); attr_set.add(new PrinterName(printService.getName(), null)); PrintService[] services = PrintServiceLookup.lookupPrintServices(null, attr_set); printerJob.setPrintService(services[0]); StiPrintHelper.printJob(printerJob, report); } catch (Exception e1) { StiExceptionProvider.show(e1, parentFrame); } }});
我们还需要加载 告以进行打印。 我们使用SimpleList 告 – 加载它并将Demo数据库添加到 告对象。 在这些操作呈现 告之后。
private StiReport getReport() { if (report == null) { try { String demoDir = "Data/"; StiXmlDatabase xmlDatabase = new StiXmlDatabase("Demo", demoDir + "Demo.xsd", demoDir + "Demo.xml"); StiReport renderReport = StiSerializeManager.deserializeReport(new File("Reports/SimpleList.mrt")); renderReport.getDictionary().getDatabases().add(xmlDatabase); renderReport.setCalculationMode(StiCalculationMode.Interpretation); renderReport.Render(false); report = renderReport; } catch (Exception e) { StiExceptionProvider.show(e, null); } } return report;}
在下面的屏幕截图中,您可以看到示例代码的结果。

下载示例
购买Stimulsoft正版授权,请点击“咨询在线客服”哟!
标签: 表Java 表控件Stimulsoft
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!