Java 如何使用jfreecharts生成图表?

Java 如何使用jfreecharts生成图表?,java,jasper-reports,jfreechart,Java,Jasper Reports,Jfreechart,我尝试在单击按钮时使用生成图表。我复制了下面的完整方法。我的问题是,当我试图生成图表时,我得到一个错误,指出没有为找到类 方法 private void btnPreviewActionPerformed(java.awt.event.ActionEvent evt) { jPanel1.setSize(pwid, phei); try { //Map<String, Object> params = new HashMap<String, Ob

我尝试在单击按钮时使用生成图表。我复制了下面的完整方法。我的问题是,当我试图生成图表时,我得到一个错误,指出没有为找到类

方法

private void btnPreviewActionPerformed(java.awt.event.ActionEvent evt) {
    jPanel1.setSize(pwid, phei);
    try {
        //Map<String, Object> params = new HashMap<String, Object>();
        Map params = new HashMap();
        params.put("year", comyear.getSelectedItem().toString());
        params.put("comcode", comCompCode.getSelectedItem().toString());
        params.put("comname", comCompNam.getSelectedItem().toString());
        params.put("itcode", comItmCode.getSelectedItem().toString());
        params.put("itname", comItmNam.getSelectedItem().toString());
        createExportChartImage();
        JasperReport jasperReport = JasperCompileManager.compileReport("Report/MIS/ExportChart.jrxml");
        Connection conn = (Connection) ClsCon.cont();
        JasperPrint jasperPrint = JasperManager.fillReport(jasperReport, params, conn);
        JasperViewer.setDefaultLookAndFeelDecorated(true);
        JRViewer jrv = new JRViewer(jasperPrint);
        jrv.setPreferredSize(new Dimension(jPanel1.getSize()));
        JScrollPane reportScroll = new JScrollPane(jrv);
        jPanel1.add(reportScroll);
        setBounds(jPanel1.getBounds());
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        jPanel1.add(jrv);
        con.close();

        this.setBounds(0, 0, wid, hei);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e + "Error 281");
    }
}
private void btnPreviewActionPerformed(java.awt.event.ActionEvent evt){
jPanel1.setSize(pwid,phei);
试一试{
//Map params=新的HashMap();
Map params=新的HashMap();
参数put(“year”,comyear.getSelectedItem().toString());
参数put(“comcode”,comCompCode.getSelectedItem().toString());
参数put(“comname”,comCompNam.getSelectedItem().toString());
参数put(“itcode”,comItmCode.getSelectedItem().toString());
params.put(“itname”,comItmNam.getSelectedItem().toString());
createExportChartImage();
JasperReport-JasperReport=JasperCompileManager.compileReport(“Report/MIS/ExportChart.jrxml”);
连接conn=(连接)ClsCon.cont();
JasperPrint JasperPrint=JasperManager.fillReport(jasperReport,params,conn);
JasperViewer.setDefaultLookAndFeelDecorated(true);
JRViewer jrv=新的JRViewer(jasperPrint);
setPreferredSize(新维度(jPanel1.getSize());
JScrollPane reportScroll=新的JScrollPane(jrv);
jPanel1.add(reportScroll);
setBounds(jPanel1.getBounds());
setDefaultCloseOperation(在关闭时处理);
jPanel1.add(jrv);
con.close();
这个.挫折(0,0,wid,hei);
}捕获(例外e){
showMessageDialog(null,e+“错误281”);
}
}
错误

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jfree/chart/plot/dial/DialFrame at net.sf.jasperreports.charts.util.ChartUtil.getChartTheme(ChartUtil.java:152) at net.sf.jasperreports.engine.fill.JRFillChart.evaluateChart(JRFillChart.java:1330) at net.sf.jasperreports.engine.fill.JRFillChart.evaluateRenderer(JRFillChart.java:1305) at net.sf.jasperreports.engine.fill.JRFillChart.evaluate(JRFillChart.java:1294) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2026) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:922) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:788) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:298) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:134) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417) at net.sf.jasperreports.engine.JasperManager.fillReport(JasperManager.java:688) at SAMPLENOTICE.RepChart1.btnPreviewActionPerformed(RepChart1.java:352) at SAMPLENOTICE.RepChart1.access$200(RepChart1.java:35) at SAMPLENOTICE.RepChart1$3.actionPerformed(RepChart1.java:123) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253) at java.awt.Component.processMouseEvent(Component.java:6175) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:5940) at java.awt.Container.processEvent(Container.java:2105) at java.awt.Component.dispatchEventImpl(Component.java:4536) at java.awt.Container.dispatchEventImpl(Container.java:2163) at java.awt.Component.dispatchEvent(Component.java:4362) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055) at java.awt.Container.dispatchEventImpl(Container.java:2149) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4362) at java.awt.EventQueue.dispatchEvent(EventQueue.java:604) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138) Caused by: java.lang.ClassNotFoundException: org.jfree.chart.plot.dial.DialFrame at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 44 more 线程“AWT-EventQueue-0”java.lang.NoClassDefFoundError中出现异常:org/jfree/chart/plot/dial/DialFrame 在net.sf.jasperreports.charts.util.ChartUtil.getChartTheme(ChartUtil.java:152)上 位于net.sf.jasperreports.engine.fill.JRFillChart.evaluateChart(JRFillChart.java:1330) 位于net.sf.jasperreports.engine.fill.JRFillChart.evaluateRenderer(JRFillChart.java:1305) 位于net.sf.jasperreports.engine.fill.JRFillChart.evaluate(JRFillChart.java:1294) 位于net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258) 位于net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499) net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2026) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:922) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:788) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:298) 位于net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:134) 位于net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942) 位于net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841) 位于net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58) 位于net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417) 位于net.sf.jasperreports.engine.jaspermanger.fillReport(jaspermanger.java:688) 在SAMPLENOTICE.RepChart1.btnPreviewActionPerformed上(RepChart1.java:352) 在SAMPLENOTICE.RepChart1.access$200(RepChart1.java:35) 在SAMPLENOTICE.RepChart1$3.actionPerformed(RepChart1.java:123) 在javax.swing.AbstractButton.fireActionPerformed上(AbstractButton.java:2012) 位于javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335) 在javax.swing.DefaultButtonModel.fireActionPerformed上(DefaultButtonModel.java:404) 在javax.swing.DefaultButtonModel.setPressed中(DefaultButtonModel.java:259) 在javax.swing.plaf.basic.BasicButtonListener.mouseRelease(BasicButtonListener.java:253) 位于java.awt.Component.ProcessMouseeEvent(Component.java:6175) 位于javax.swing.JComponent.ProcessMouseeEvent(JComponent.java:3267) 位于java.awt.Component.processEvent(Component.java:5940) 位于java.awt.Container.processEvent(Container.java:2105) 位于java.awt.Component.dispatchEventImpl(Component.java:4536) 位于java.awt.Container.dispatchEventImpl(Container.java:2163) 位于java.awt.Component.dispatchEvent(Component.java:4362) 位于java.awt.LightweightDispatcher.RetargetMouseeEvent(Container.java:4461) 位于java.awt.LightweightDispatcher.ProcessMouseeEvent(Container.java:4125) 位于java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055) 位于java.awt.Container.dispatchEventImpl(Container.java:2149) 位于java.awt.Window.dispatchEventImpl(Window.java:2478) 位于java.awt.Component.dispatchEvent(Component.java:4362) 位于java.awt.EventQueue.dispatchEvent(EventQueue.java:604) 位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) 在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:200) 位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:190) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) 位于java.awt.EventDispatchThread.run(EventDispatchThread.java:138) 原因:java.lang.ClassNotFoundException:org.jfree.chart.plot.dial.DialFrame 在java.net.URLClassLoader$1.run(URLClassLoader.java:217) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:205) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:321) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 44多 您必须添加.jar(cla