0

我使用 Netbeans 并从 (dynamicreports-3.2.1\dist(all files)) 添加 jar 文件。如何在 jbutton.A 中生成动态报告

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    StyleBuilder boldStyle  = stl.style().bold();

  StyleBuilder boldCenteredStyle = stl.style(boldStyle).setHorizontalAlignment(HorizontalAlignment.CENTER);

  StyleBuilder columnTitleStyle  = stl.style(boldCenteredStyle)

                                      .setBorder(stl.pen1Point())

                                      .setBackgroundColor(Color.LIGHT_GRAY);





  TextColumnBuilder<String>     itemColumn      = col.column("Item",       "item",      type.stringType());

  TextColumnBuilder<Integer>    quantityColumn  = col.column("Quantity",   "quantity",  type.integerType());

  TextColumnBuilder<BigDecimal> unitPriceColumn = col.column("Unit price", "unitprice", type.bigDecimalType());

  //price = unitPrice * quantity

  TextColumnBuilder<BigDecimal> priceColumn     = unitPriceColumn.multiply(quantityColumn).setTitle("Price");

  PercentageColumnBuilder       pricePercColumn = col.percentageColumn("Price %", priceColumn);

  TextColumnBuilder<Integer>    rowNumberColumn = col.reportRowNumberColumn("No.")

                                                      //sets the fixed width of a column, width = 2 * character width

                                                     .setFixedColumns(2)

                                                     .setHorizontalAlignment(HorizontalAlignment.CENTER);

  try {      

     report()//create new report design

       .setColumnTitleStyle(columnTitleStyle)

       .highlightDetailEvenRows()

       .columns(//add columns

        rowNumberColumn, itemColumn, quantityColumn, unitPriceColumn, priceColumn, pricePercColumn)

       .title(cmp.text("Getting started").setStyle(boldCenteredStyle))//shows report title

       .pageFooter(cmp.pageXofY().setStyle(boldCenteredStyle))//shows number of page at page footer

       .setDataSource(createDataSource())

       .show();//create and show report
} catch (DRException e) {

     e.printStackTrace();



}
}  

//createDataSource
private DRDataSource createDataSource() {

  DRDataSource dataSource = new DRDataSource("item", "quantity", "unitprice");

  dataSource.add("Notebook", 1, new BigDecimal(500));

  dataSource.add("DVD", 5, new BigDecimal(30));

  dataSource.add("DVD", 1, new BigDecimal(28));
  dataSource.add("DVD", 5, new BigDecimal(32));

  dataSource.add("Book", 3, new BigDecimal(11));
  dataSource.add("Book", 1, new BigDecimal(15));

  dataSource.add("Book", 5, new BigDecimal(10));

  dataSource.add("Book", 8, new BigDecimal(9));

  return dataSource;

}

运行时错误:

线程“AWT-EventQueue-0”中的异常 java.lang.NoSuchMethodError: net.sf.jasperreports.engine.util.JRLoader.getLocationInputStream(Ljava/lang/String;)Ljava/io/InputStream;

4

0 回答 0