View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

# [java] Applets and JOGL

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

4 replies to this topic

### #1mwarble  Members

Posted 11 November 2008 - 02:43 AM

All, I am trying to get JOGL to work with an applet and I am exasperated. I’ll say up front for reasons I won't explain I do not want to use the JNLP Launcher. I just want to use a plain old signed applet with the normal HTML tags. I have spent many hours on this problem and have taken several routes and still haven't succeeded. Here's where I am in the process and the approach I'm taking. 1. Launch a signed applet via HTML with your standard applet tag. 2. To the best of my knowledge, because System.load and System.loadLibrary will only load a library from a local drive not over a network using a URL, I download the required library files (jogl.dll, jogl_awt.dll, jogl_cg.dll, and gluegen-rt.dll) by copying the files from the webserver to a local drive on the end user's machine. Currently I am using the java.io.tmp property as the local directory. This seems to work fine. 3. I then use System.load to load the libraries from java.io.tmp. This seems to work fine. No exceptions. 4. Steps 3 and 4 are done in AccessController doPriviedged block to satisfy the security requirements. Here's the problem. 5. When the code that actually uses the libraries is executed, it tries to reload the libraries from java.library.path. Of course the library files aren't there, because they are in java.io.tmp, and an exception is thrown. So here's my questions/comments: 1. Does anybody know why the system would try to reload the libraries when they have already been loaded? 2. It seems pretty conclusive that java.library.path cannot be changed at runtime, so that isn't an option. Correct me if I'm wrong. 3. I've tried to copy the files to java.library.path, but that is a list of directories, most which require special permision to write to. That doesn't seem to be an option. Correct me if I'm wrong. I am out of ideas on this, so any input would be greatly appreciated. I'll attach a short code snippet that shows how I'm loading the libraries. Thanks, M. Warble AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { String lib = System.getProperty("java.io.tmpdir"); copyFile("http://www.mydomain.com/" + System.mapLibraryName("jogl"), lib + System.mapLibraryName("jogl")); copyFile("http://www.mydomain.com/" + System.mapLibraryName("jogl_awt"), lib + System.mapLibraryName("jogl_awt")); copyFile("http://www.mydomain.com/" + System.mapLibraryName("jogl_cg"), lib + System.mapLibraryName("jogl_cg")); copyFile("http://www.mydomain.com/" + System.mapLibraryName("gluegen-rt"), lib + System.mapLibraryName("gluegen-rt")); System.load(lib + System.mapLibraryName("jogl")); System.load(lib + System.mapLibraryName("jogl_awt")); System.load(lib + System.mapLibraryName("gluegen-rt")); // code that uses libraries wwd = new WorldWindowGLJPanel(); ...

### #2INsanityDesign  Members

Posted 11 November 2008 - 10:35 PM

I haven't really tried before but this https://jogl-demos.dev.java.net/applettest.html does not work for you?
-----The next statement is not true!The previous statement is true!

### #3mwarble  Members

Posted 12 November 2008 - 12:51 AM

Quote:
 Original post by INsanityDesignI haven't really tried before but this https://jogl-demos.dev.java.net/applettest.html does not work for you?

That uses the JNLP launcher. I need to be able to do this without the JNLP launcher.

Thanks for your reply though.

### #4INsanityDesign  Members

Posted 12 November 2008 - 08:45 PM

Yeah I read your post but as I cannot currently imagine a case where you would need to miss JNLP I posted that link. Have you tried the com.sun.opengl.util.JOGLAppletLauncher? Not the JNLPLauncher...

-----The next statement is not true!The previous statement is true!

### #5NDIR  Members

Posted 12 November 2008 - 09:20 PM

This is how i do it and it works. (at least for me)

In applet i read the value of 'deployDir' to read resource files from server properly.

'japplet' contains my app .class files

<applet code="org.jdesktop.applet.util.JNLPAppletLauncher"      width=1024      height=768      archive="http://download.java.net/media/applet-launcher/applet-launcher.jar,               http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jar,               http://download.java.net/media/gluegen/webstart/gluegen-rt.jar,			   jbox2d-2.0.1-full.jar, 			   vecmath.jar,               japplet.jar">   <param name="deployDir" value="http://x.x.x.x:xxxx/JApplet/">   <param name="codebase_lookup" value="false">   <param name="subapplet.classname" value="render.JApplet">   <param name="subapplet.displayname" value="JOGL Applet">   <param name="noddraw.check" value="true">   <param name="progressbar" value="true">   <param name="jnlpNumExtensions" value="1">   <param name="jnlpExtension1"          value="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp"></applet>

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.