问题是这样,我利用java调用opengl编写了个applet,里面用到了一些外部的包和类
主要是:import javax.media.opengl.*;
       import com.sun.opengl.util.*;
然后写了个applet.html,在cmd里用appletviewer运行可以显示,证明程序没问题.
(其次,我写了另外的applet没有包含外部包的,直接用浏览器打开可以运行.)
然后我用浏览器运行那个有外部包的applet就出错,:现在的错误是:
java.lang.NoClassDefFoundError: Could not initialize class          javax.media.opengl.GLCanvas      //(不知道为什么不能初始化!!!)
at LifangApplet.init(LifangApplet.java:17)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)我的LifangApplet.java是这样写的:
import java.applet.*;
import java.awt.*;
import java.io.*;import javax.media.opengl.*;
import com.sun.opengl.util.*;public class LifangApplet extends Applet {
  private Animator animator;  public void init() {
    setLayout(new BorderLayout());
    GLCanvas canvas = new GLCanvas();
    canvas.addGLEventListener(new Lifang());
    canvas.setSize(getSize());
    add(canvas, BorderLayout.CENTER);
    animator = new FPSAnimator(canvas, 60);
  }  public void start() {
    animator.start();
  }  public void stop() {
    // FIXME: do I need to do anything else here?
    animator.stop();
  }
}//<applet code="LifangApplet.class" archive="jogl.jarlifang .jar"width=300 height=300> </applet>我的LifangApplet.html是这样写的:
<applet code="LifangApplet.class" archive="jogl.jar,lifang.jar"width=300 height=300> </applet>
我都快疯了,气死了搞了好久都没搞出来,麻烦帮忙看一下
谢了.真的相当急,郁闷中.

解决方案 »

  1.   

    archive只能有一个jar, 你那个applet只要编译通过,然后把jogl的class也放到你的jar里面去.
      

  2.   

    不能用2个jar?...我查的可以啊?恩.换过来是是,谢了
      

  3.   

    ...不可啊,郁闷
    java.lang.NoClassDefFoundError: javax/media/opengl/GLEventListener
    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)
    at sun.applet.AppletPanel.createApplet(Unknown Source)
    at sun.plugin.AppletViewer.createApplet(Unknown Source)
    at sun.applet.AppletPanel.runLoader(Unknown Source)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
      

  4.   

    浏览器自带的JRE中没有javax.media.opengl.*;这个包吧?
      

  5.   

    不能用两个包?不会吧?应该用逗号隔开就行了。你的jar有没有和页面放在一起?
      

  6.   

    我一开始就在jre中安装了jogl的包,而且jar和页面放在一起了,不能运行,不过谢了
      

  7.   

    挺好的,比起用webstart好多了起码可以直接在网页上运行.呵呵!
    今天刚搞定了不知道为什么不过,正在努力探索中,多谢各位的帮助了.