不是在tomcat下面运行jfreechart哈,jfreechart里面不是有例子程序么,我想编译运行一下看看。是用cmd进入jfreechart,编译里面的例子,编译是成功了,但运行就出异常! 试了好几个例子,都是出这样的异常。哪位大侠能解决不?? F:\jfreechart-0.9.20\src\org\jfree\chart\demo>java DynamicDataDemo3 Exception in thread "main" java.lang.NoClassDefFoundError: DynamicDataDemo3 (wrong name: org/jfree/chart/demo/DynamicDataDemo3) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
即可使用。
java
DefaultPieDataset dataStatus = new DefaultPieDataset();
ArrayList statusCd = (ArrayList)request.getAttribute("scTab");
for(int i = 0 ; i < statusCd.size() ; i ++){
HashMap schm = (HashMap)statusCd.get(i);
dataStatus.setValue(schm.get("statusnm").toString(),Integer.valueOf(schm.get("cnt").toString()));
}
PiePlot plotStatus = new PiePlot(dataStatus);
JFreeChart chartStatus = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plotStatus, true);
chartStatus.setBackgroundPaint(java.awt.Color.white);//backcolor
ChartRenderingInfo infoStatus = new ChartRenderingInfo(new StandardEntityCollection());
//500width�シ�300height
String filenameStatus = ServletUtilities.saveChartAsPNG(chartStatus, 760, 500, infoStatus, session);
String graphURLStatus = request.getContextPath() + "/servlet/DisplayChart?filename=" + filenameStatus;
jsp:
<img src="<%= graphURLStatus %>" width=760 height=500 border=0 usemap="#<%= filenameStatus %>">
试了好几个例子,都是出这样的异常。哪位大侠能解决不??
F:\jfreechart-0.9.20\src\org\jfree\chart\demo>java DynamicDataDemo3
Exception in thread "main" java.lang.NoClassDefFoundError: DynamicDataDemo3 (wrong
name: org/jfree/chart/demo/DynamicDataDemo3)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
import java.awt.geom.Ellipse2D;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import org.jfree.chart.*;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.*;public class LineChartDemo1 extends ApplicationFrame
{ public LineChartDemo1(String s)
{
super(s);
JPanel jpanel = createDemoPanel();
jpanel.setPreferredSize(new Dimension(500, 270));
setContentPane(jpanel);
} private static CategoryDataset createDataset()
{
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
defaultcategorydataset.addValue(212D, "Classes", "JDK 1.0");
defaultcategorydataset.addValue(504D, "Classes", "JDK 1.1");
defaultcategorydataset.addValue(1520D, "Classes", "JDK 1.2");
defaultcategorydataset.addValue(1842D, "Classes", "JDK 1.3");
defaultcategorydataset.addValue(2991D, "Classes", "JDK 1.4");
defaultcategorydataset.addValue(3500D, "Classes", "JDK 1.5");
return defaultcategorydataset;
} private static JFreeChart createChart(CategoryDataset categorydataset)
{
JFreeChart jfreechart = ChartFactory.createLineChart("Java Standard Class Library", null, "Class Count", categorydataset, PlotOrientation.VERTICAL, false, true, false);
jfreechart.addSubtitle(new TextTitle("Number of Classes By Release"));
TextTitle texttitle = new TextTitle("Source: Java In A Nutshell (5th Edition) by David Flanagan (O'Reilly)");
texttitle.setFont(new Font("SansSerif", 0, 10));
texttitle.setPosition(RectangleEdge.BOTTOM);
texttitle.setHorizontalAlignment(HorizontalAlignment.RIGHT);
jfreechart.addSubtitle(texttitle);
jfreechart.setBackgroundPaint(Color.white);
CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
categoryplot.setBackgroundPaint(Color.lightGray);
categoryplot.setRangeGridlinePaint(Color.gray);
categoryplot.setRangeGridlinesVisible(false);
java.net.URL url = (LineChartDemo1.class).getClassLoader().getResource("OnBridge11small.png");
if(url != null)
{
ImageIcon imageicon = new ImageIcon(url);
categoryplot.setBackgroundImage(imageicon.getImage());
}
categoryplot.setBackgroundImageAlpha(1.0F);
NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer)categoryplot.getRenderer();
lineandshaperenderer.setShapesVisible(true);
lineandshaperenderer.setDrawOutlines(true);
lineandshaperenderer.setUseFillPaint(true);
lineandshaperenderer.setFillPaint(Color.white);
lineandshaperenderer.setSeriesStroke(0, new BasicStroke(3F));
lineandshaperenderer.setSeriesOutlineStroke(0, new BasicStroke(2.0F));
lineandshaperenderer.setSeriesShape(0, new java.awt.geom.Ellipse2D.Double(-5D, -5D, 10D, 10D));
return jfreechart;
} public static JPanel createDemoPanel()
{
JFreeChart jfreechart = createChart(createDataset());
return new ChartPanel(jfreechart);
} public static void main(String args[])
{
LineChartDemo1 linechartdemo1 = new LineChartDemo1("JFreeChart - Line Chart Demo 1");
linechartdemo1.pack();
RefineryUtilities.centerFrameOnScreen(linechartdemo1);
linechartdemo1.setVisible(true);
}
}这个是Line Chart的Demo,没用过JB(貌似源代码有下载的,或者你把他的jar包解压缩,再找个反编译软件就可以看到所有源代码了)