我正在用java和opengl
测试JOGL
。我有一个很好的结果,我想在网上发布它,但我有一个问题。我正处于eclipse中,我正在使用JOGL
测试Applet。
首先我有这个运行时错误(但程序正常运行):
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)
} //....
答案 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一起使用)