I am trying to use JFreeChart in an RCP application with a simple view. I added the Jar JfreeChart file as a reference for the library.
Unable to create view due to error:
Could not create the view: Plug-in "ViewJFreeChart" was unable to instantiate class "viewJFreeChart.View". java.lang.NoClassDefFoundError: org/jfree/data/general/PieDataset at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.lang.Class.getConstructor0(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source)
......
This is the source code for View.java:
package viewJFreeChart; import java.awt.Font; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot; import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.PieDataset; import org.jfree.experimental.chart.swt.ChartComposite; public class View extends ViewPart { public static final String ID = "ViewJFreeChart.view"; private TableViewer viewer; public void createPartControl(Composite parent) { JFreeChart chart = createChart(createDataset()); final ChartComposite frame = new ChartComposite(parent, SWT.NONE, chart, true); } public void setFocus() { viewer.getControl().setFocus(); } private PieDataset createDataset() { DefaultPieDataset dataset = new DefaultPieDataset(); dataset.setValue("One", new Double(43.2)); dataset.setValue("Two", new Double(10.0)); dataset.setValue("Three", new Double(27.5)); dataset.setValue("Four", new Double(17.5)); dataset.setValue("Five", new Double(11.0)); dataset.setValue("Six", new Double(19.4)); return dataset; } private JFreeChart createChart(PieDataset dataset) { JFreeChart chart = ChartFactory.createPieChart("Pie Chart Demo 1",
java eclipse-plugin jfreechart
penguru
source share