簡體   English   中英

為什么此Java Jfreechart程序無法運行?

[英]Why won't this Java Jfreechart program run?

以下代碼摘自: http : //www.jzy3d.org/tutorial.php

package diag;

import org.jzy3d.chart.Chart;
import org.jzy3d.chart.ChartLauncher;
import org.jzy3d.colors.Color;
import org.jzy3d.colors.ColorMapper;
import org.jzy3d.colors.colormaps.ColorMapRainbow;
import org.jzy3d.maths.Coord3d;
import org.jzy3d.plot3d.primitives.MultiColorScatter;


public class charttt 
{

    public static void main(String[] args)
    {
        int size = 100000;
        float x;
        float y;
        float z;
        Coord3d[] points = new Coord3d[size];

        // Create scatter points
        for(int i=0; i<size; i++){
            x = (float)Math.random() - 0.5f;
            y = (float)Math.random() - 0.5f;
            z = (float)Math.random() - 0.5f;
            points[i] = new Coord3d(x, y, z);
        }       

        // Create a drawable scatter with a colormap
        MultiColorScatter scatter = new MultiColorScatter( points, new ColorMapper( new ColorMapRainbow(), -0.5f, 0.5f ) );

        // Create a chart and add scatter
        Chart chart = new Chart();
        chart.getAxeLayout().setMainColor(Color.WHITE);
        chart.getView().setBackgroundColor(Color.BLACK);
        chart.getScene().add(scatter);
        ChartLauncher.openChart(chart);
    }
}

它編譯沒有任何問題,但是當我運行它時,出現以下異常:

**Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GLCapabilitiesImmutable
    at diag.charttt.main(charttt.java:35)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLCapabilitiesImmutable
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more**

關於出什么問題有什么想法嗎?

您還需要在運行程序的同時將jfreechart jar保存在類路徑中。 就像是:

java -classpath .;jfreechart.jar charttt 

罐子的名稱可能不同,為方便起見,我只是輸入了“ jfreechart.jar”。

為了更好地理解錯誤,以下是javadocs的參考:

的NoClassDefFoundError

如果Java虛擬機或ClassLoader實例嘗試加載類的定義(作為常規方法調用的一部分或使用新表達式創建新實例的一部分)而拋出,則找不到該類的定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM