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