我試圖做一個簡單的小程序顯示一個三維餅圖,但我得到一個爲什麼我從org/jfree/chart獲取NoClassDefFoundError?
RuntimeException (`java.lang.NoClassDefFoundError: org/jfree/chart/ChartPanel`)
我一直在運行在圈子裏試圖找出原因,並認爲這可能與問題applet能夠讀取我使用的第三方庫。它在NetBeans中工作正常,但在瀏覽器中我一直收到錯誤。任何線索我做錯了什麼?下面的代碼:
HTML:
<APPLET codebase="classes" code="CyberThreatApplet/CyberThreatApplet.class"
archive="jfreechart-1.0.19.jar,jcommon-1.0.23.jar" width=350 height=200>
</APPLET>
的Java:
package CyberThreatApplet;
import java.awt.Dimension;
import javax.swing.JApplet;
import org.jfree.chart.*;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.*;
import org.jfree.util.Rotation;
public class CyberThreatApplet extends JApplet
{
@Override
public void init()
{
CreateChart("Cyber Attack Pie Chart","Motivations Behind Cyber Attacks - May 2013");
}
private void CreateChart(String appTitle, String chartTitle)
{
PieDataset dataset = createDataset();
JFreeChart chart = createChart(dataset,chartTitle);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(500,300));
add(chartPanel);
}
private PieDataset createDataset()
{
DefaultPieDataset result = new DefaultPieDataset();
result.setValue("Cybercrime",46);
result.setValue("Hacktivism",36);
result.setValue("Cyber Espionage",9);
result.setValue("Cyber Warfare",9);
return result;
}
private JFreeChart createChart(PieDataset dataset,String title)
{
JFreeChart chart = ChartFactory.createPieChart3D(title,dataset,true,true,false);
PiePlot3D plot = (PiePlot3D)chart.getPlot();
plot.setStartAngle(90);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.75f);
return chart;
}
}
如何做
classes
目錄你在HTML中使用? – 2014-12-07 13:30:20對不起,忘了添加 - 只是更新 – Danferan 2014-12-07 13:34:43
格式化時,我將兩行'archive attribute'更改爲一行。它在原始HTML中是兩行嗎? – 2014-12-08 03:46:36