Jump to content

  • Log In with Google      Sign In   
  • Create Account

[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.

  • You cannot reply to this topic
4 replies to this topic

#1 mwarble   Members   -  Reputation: 122

Like
0Likes
Like

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(); ...

Sponsor:

#2 INsanityDesign   Members   -  Reputation: 138

Like
0Likes
Like

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!

#3 mwarble   Members   -  Reputation: 122

Like
0Likes
Like

Posted 12 November 2008 - 12:51 AM

Quote:
Original post by INsanityDesign
I 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.

#4 INsanityDesign   Members   -  Reputation: 138

Like
0Likes
Like

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!

#5 NDIR   Members   -  Reputation: 171

Like
0Likes
Like

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.



PARTNERS