导出JOGL小程序并嵌入到html页面中

时间:2011-01-12 23:19:37

标签: java jar applet export jogl

我正在用java和opengl测试JOGL。我有一个很好的结果,我想在网上发布它,但我有一个问题。我正处于eclipse中,我正在使用JOGL测试Applet。

编辑:感谢Ricket回答它解决了这个问题

首先我有这个运行时错误(但程序正常运行):

java.lang.IllegalArgumentException异常:
 在

处向容器添加窗口

编辑:但它仍然不起作用:

然后我发现这非常清楚page 我做了所说的话。我用浏览器打开html,下载了libs,但它停在Starting applet AppletHelloWorld,因为那是我给applet的名字。

也许我遗漏了一些主要功能或正确导出jar?

这是我的主要代码:

public class AppletHelloWorld extends Applet 
{


public static void main(String[] args)
 {
 JFrame fr=new JFrame(); 
 fr.setBounds(0,0,1015,600);
 fr.add(new AppletHelloWorld());

 fr.setVisible(true);
 }
  public void init() 
 { 
  setLayout(null); 
  MyJOGLProject canvas = new MyJOGLProject(); //MyJOGLProject extends JFrame
  canvas.run(); // this do setVisible(true)
 } //....

2 个答案:

答案 0 :(得分:2)

正如错误所说,您正在尝试向容器添加窗口。 JFrame是一个窗口。您无法将JFrame添加到任何内容,包括Container。我想也许你要么不知道JFrame是什么,要么不知道什么是容器。

理想情况下,你会让MyJOGLProject扩展GLEventListener。然后你的init函数会创建一个新的GLCanvas,向它添加一个MyJOGLProject实例(通过addGLEventListener),然后将GLCanvas添加到你的applet中。

或者,如果你可以使用applet弹出一个JFrame,那么简化你的init方法:

public void init() {
    setLayout(null);
    MyJOGLProject canvas = new MyJOGLProject();
    canvas.setVisible(true);
}

应该这样做。

答案 1 :(得分:2)

使用JApplet。我认为这就是它失败的原因。 (在NetBeans中将Webstart与JNLP一起使用)