Temporary files in a Java applet

Hi to everybody.
I am developing a Java applet that downloads ZIP files through HTTP, extract the content of these ZIP archives to a temporary folder, than uses the extracted files.
When the applet is closed (browser closed or change of page in the browser), I would like to delete all the files and directories that have been created during the ZIP extraction.
I've overridden the "destroy()" method, and I added the code to delete temp files in this method: this code recursively deletes all files and directories that are found under a given "root" directory.
The entire procedure works fine when the browser unloads the applet since a new page address has been entered in the browser's address bar (i.e., request to load a new web page).
On the other hand, there are problems when I simply close the browser (Internet Explorer): only some of the temporary files are deleted. It looks like the destroy() method is terminated before it comes to completion. I've also verified this, by trying to create a new file (named "Start.txt") at the beginning of the destroy() method (before the temp files deletion code), and another file (named "End.txt") at the end of the destroy() method (after the temp files deletion code): only the first file ("Start.txt") is created, thus confirming that the destroy() method is terminated before completion.
Do you see some solution to my problem?
I've also tried to use the deleteOnExit() method, by calling it immediately after each extracted file has been created, but this approach doesn't seem to work at all: perhaps IE does not terminate the JVM correctly...
Any suggestion would be greatly appreciated.
Thank you and best regards,
Marco.

Thanks a lot for your suggestion.
I've tried to move the temp files deletion code in the stop() method, but nothing changes: everything works fine on web page change, but when I simply close the browser the stop() method is terminated before completion (hence, only part of the temp files are actually deleted).
Any suggestion would be greatly appreciated.
Regards,
Marco.

Similar Messages

  • Please, help me with file access in Java Applet.

    import java.awt.*;
    import java.applet.*;
    import java.net.*;
    public class ImageVi extends Applet {
         URL PicPath1;
         Image Img1;
         public void init()
              try
                   PicPath1 = new URL("http://nurchi.far.ru/pic/s08.jpg");
              } catch (MalformedURLException Excep1) {}
         public void paint(Graphics g) {
              Img1=getImage(PicPath1);
              g.drawImage(Img1, 10, 10, this);
    The error message is:
    Exception occurred during event dispatching:
    java.security.AccessControlException: access denied (java.net.SocketPermission nurchi.far.ru resolve)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:195)
    at java.security.AccessController.checkPermission(AccessController.java, Compiled Code)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java, Compiled Code)
    at java.lang.SecurityManager.checkConnect(SecurityManager.java:1019)
    at sun.awt.image.URLImageSource.<init>(URLImageSource.java:48)
    at sun.applet.AppletImageRef.reconstitute(AppletImageRef.java:40)
    at sun.misc.Ref.get(Ref.java:53)
    at sun.applet.AppletViewer.getCachedImage(AppletViewer.java:275)
    at sun.applet.AppletViewer.getImage(AppletViewer.java:270)
    at java.applet.Applet.getImage(Applet.java:190)
    at ImageVi.paint(ImageVi.java:24)
    at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:116)
    at java.awt.Component.dispatchEventImpl(Component.java:2452)
    at java.awt.Container.dispatchEventImpl(Container.java:1059)
    at java.awt.Component.dispatchEvent(Component.java:2312)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:301)
    at java.awt.EventDispatchThread.pumpOneEventForComponent(EventDispatchThread.java:120)
    at java.awt.EventDispatchThread.pumpEventsForComponent(EventDispatchThread.java:95)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:90)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    Applets are not allowed to connect to other server
    than the one they were loaded from. This is probably
    the reason here.You mean that I can use the applet after uploading on my web-site and using "getDocumentBase()" only?
    OK.
    The applet works perfectly if I use that function, but I have another question.
    If I want to use something like:
    Img1=getImage(getDocumentBase(), "s01.jpg");
    it works perfectly.
    If I do the fillowing:
    Img1=getImage(getDocumentBase(), "pic/s01.jpg");
    it also works.
    But is it possible to go a level up?
    Like:
    Img1=getImage(getDocumentBase(), "../pic/s01.jpg");
    That is if an applet is in one folder and the pictures are in another, but to get to them I have to go a level up and then enter another folder.
    Please help.
    Thanks.

  • Help with java applets

    Ok i know i haven't read the applet tutorial or had much experience with applets but just hear me out and see if you can help me.
    BACKGROUND
    Ok...so i have previously viewed an applet on windows viewing an html file on my computer. I am trying to view just the most simple applet (helloworld) on linux. I'm using Ubuntu linux, the latest version as of February 23, 2006.I created an applet file and an html file in the same directory with the html file having an <applet> tag in it linking to the HelloWorldApp. I have tried viewing the html file and the java applet won't load. Everything other than the applet worked and I'm just stuck.
    So my plea is would somebody please just paste the bare minimum html file and applet file that you can see an applet with? I want to learn about applets and will do the tutorial but I would really like to just see one.
    Please help,
    A frustrated applet noob
    p.s.
    According to java.com I have installed JRE 5.0 and i have compiled a java application so I'm pretty sure I have successfully installed JDK 5.0.

    Bob, what web browser are you using?
    Make sure that the browser supports Java applets.
    If you want just to debug your applet try appletviewer utility
    from JDK first.

  • SecurityException: Unable to create temporary file with applet

    My applet tries to write a temp file
    try {
              File temp = java.io.File.createTempFile("student", ".log");
              strFilename = temp.getAbsolutePath();
    } catch (IOException e1) {
              e1.printStackTrace();
    }But when I run, it throws an exception:
    java.lang.SecurityException: Unable to create temporary file
    I tried to sign the applet, as to http://www.developer.com/java/data/article.php/3303561 but it's still the same.
    There's another way: using java.policy,
    grant {
      permission java.security.AllPermission;
    };but it seems to be not very gentle. Could you show me the solution please? Thanks in advance.
    Cheers,

    Yes, that's what I found. Here is the summary to do it, hope it helps someone else:
    1. Create key for signed jar:
    keytool -genkey -keystore abc.com -keyalg rsa -dname "CN=Abc, OU=Def, O=GHI, L=KLMN, ST=OP, C=XY" -alias TheCert -validity 3600 -keypass password -storepass password2. Make jar file
    3. Sign the jar file
    jarsigner -keystore abc.com -storepass password -keypass password -signedjar SignedAppletTest.jar OrgAppletTest.jar TheCertIt works for me.
    I'd like to thank harmmeijer and everyone who interests.
    Cheers,

  • How to update content of a file on server using a Java Applet?

    Hi,
    I'm new to Java, and I have a task now to overwrite a text file on a server using an applet. I have written a piece of code which compiles but doesn't work. Can you please take a look at the code or give me another way to do it?
    Thanks.
    Code:
    import java.applet.Applet;
    import java.io.*;
    import java.net.*;
    public class test2 extends Applet{
    public void init() {
    StringBuffer buf = new StringBuffer();
    try {
         String output = "this is some string";
         URL aUrl = new URL (getCodeBase().toString() + "test.txt");
         System.out.println(aUrl);
         URLConnection con = aUrl.openConnection();
         con.setDoOutput(true);
         PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(con.getOutputStream())));
         out.println(output);
         out.close();
    catch (MalformedURLException mue) {
         System.out.println("improper url");
         mue.printStackTrace();
    catch (IOException e) {
         System.out.println("io exception");
         e.printStackTrace();
    }

    Ram.ViSolve wrote:
    869975 wrote:
    Thanks. I knew there would be a security issue, but I do not have sufficient knowledge to get around it. If you have a reference how to configure a server please post it here.You need to create Signed Applet. Because normally applets have some restriction to access the files in the client machine. Signed applets overrides the restriction.
    To know more, Read [url http://192.9.162.55/developer/onlineTraining/Programming/JDCBook/signed.html]Signed Applet
    No. Our OP wants to write to the server, not to the client! And to achieve this from an applet, you don't need it signed, iff the server is the machine from where the applet was downloaded in the first place. You only need to use a mechanism that allows you to write to servers, which HTTP is not. FTP, on the other hand, if setup properly can do it. So instead of trying to write using an HttpURLConnection (OP's attempt), you would use an FTP client library. FTP here is just an example and probably not the best way. Another option is to use some servlet or PHP or ASP on the server side and the applet will sumbmit the changes to that code on the server, which in turn will write to the file. The idea is that you need some 'partner code' on the server, be it the FTP server or the servlet/PHP/ASP code. None of this requires the applet to be signed.

  • URGETN HELP NEEDED! JAVA APPLET READING FILE

    Hi everyone
    I need to hand in this assignment today
    Im trying to read from a file and read it onto the screen, my code keeps showing up an error
    'missing method body, or declare abstract'
    This is coming up for the
    public statuc void main(String[] args);
    and the
    public void init();
    Here is my code:
    import java.io.*;
    import java.awt.*;
    import java.applet.*;
    public class Empty_3 extends Applet {
    TextArea ta = new TextArea();
    public static void main(String[] args);
    public void init();
    setLayout(new BorderLayout());
    add(ta, BorderLayout.CENTER);
    try {
    InputStream in =
    getClass().getResourceAsStream("test1.txt");
    InputStreamReader isr =
    new InputStreamReader(in);
    BufferedReader br =
    new BufferedReader(isr);
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    String line;
    while ((line = br.readLine()) != null) {
    pw.println(line);
    ta.setText(sw.toString());
    } catch (IOException io) {
    ta.setText("Ooops");
    Can anyone help me please?
    Is this the best way of doing this? Once i read the file i want to perform a frequency analysis on the words so if there is a better method for this then please let me know!
    Thankyou
    Matt

    Whether it is urgent or not, does not interest us. It might be urgent for you but for nobody else.
    Writing all-capitals is considered shouting and rude.
    // Use code tags for source.

  • Add Files java applet does not trust our certificate

    We have installed Novell Filr and it is working great except for one issue. The java applet that runs when the Add Files button is clicked does not trust our certificate authority. We purchased and installed a SSL certificate, and both IE and Firefox accept it (before installing, we got a certificate warning every time we went to Filr).
    The certificate authority is Starfield Secure Certificate Authority, and we use certificates from them for our websites and mail servers, so I do not understand why this applet and/or Java do not.
    Is there any way to stop the scary warning message our users get. FYI - this happens the first time the Add Files button is clicked in each session.
    Paul Rebmann

    Originally Posted by jmarton
    na paul wrote:
    >
    > We have installed Novell Filr and it is working great except for one
    > issue. The java applet that runs when the Add Files button is clicked
    > does not trust our certificate authority. We purchased and installed
    > a SSL certificate, and both IE and Firefox accept it (before
    > installing, we got a certificate warning every time we went to Filr).
    >
    > The certificate authority is Starfield Secure Certificate Authority,
    > and we use certificates from them for our websites and mail servers,
    > so I do not understand why this applet and/or Java do not.
    >
    > Is there any way to stop the scary warning message our users get.
    > FYI - this happens the first time the Add Files button is clicked in
    > each session.
    That sounds a little different than what this was designed to fix, but
    by any chance have you installed the updated Java applets on the Filr
    appliance?
    http://download.novell.com/Download?...d=zRrgEN6Kvxo~
    Your world is on the move. http://www.novell.com/mobility/
    BrainShare 2014 is coming. http://www.novell.com/brainshare/
    Hi Paul
    Whatever you do it will not work properly especially when some of the users try to use "edit in place". Save yourself the headache and install trusted certificate (primary and intermediate) then even Java will work ok.

  • In a java applet , how to call other jar file?

    i have i programm, this programm is a java application,
    also, i already put these program into jar file, and then if i double this jar file , its work!
    but , now i need to run this program in web browser,
    i thing that i will write a simple applet with a button
    after i click this jButton, how the java applet call and run the java file?
    please help me.. it is because this is my project! thx..........
    [email protected]

    I have a solution write one batch file in that you specify class path and java home.
    then give
    java -jar Test.jar
    then call this batch file from program using Java runtime
    Runtime.exec method...
    Hope will this work

  • How to display a .exe file in java applets by avoiding the file downloadbox

    Hi sir,
    I know that in order to display a any file(or)program in java applets you need to use showDocument().Where you cannot use exec() in java applets.
    My problem is that when i use showDocument() to display .exe file.It is showing a file download dialog box.If we click & open only it is opening that .exe file.Here i want to open the .exe file without showing that file download dialog box in java applets.
    Since,i am undergoing a project which involves it,it is quite urgent.pls.do provide the exact code in java applet without showing that file download dialog box.If it can't be done pls. do provide any other possibilities in order to be displayed on the browser.Thank U.
    Regards,
    m.ananthu

    Hi!
    I think you it's better to write a server socket program
    in server and open a socket connection to server socket then
    send exe file content via connection.
    (I guess you know applets only have permission to open socket connection to their code base)
    Bye!

  • File Access with unsigned Applet through editing the java.policy file

    I'am starting to lose my hair on this...
    I am trying to get an applet to run so that it can access the file system to move files on my local maschin. Because this applet is only running on my VM i can change the java.policy to avoid the signing of the applet.
    first of all, if i wrote in the java.policy file
    grant {
      permission java.security.AllPermission; 
    };everything is working perfekt.
    But I have not the intention to open the gates for any applet out there, so i want to limit the access to my applet. With every of the following versions I get at best an
    java.security.AccessControlException: access denied (java.io.FilePermission...
    My Setup
    My Java Version: jre1.6.0_02
    My applet is located unter the url
    http://admin.mydomain.com/applet.jar
    In Html i tryed the following different versions of loading the applet - none worked
    <applet codebase="http://admin.mydomain.com/" name="shortcut" code="start.class" archive="applet.jar" width="0" height="0"></applet>
    <applet codebase="http://admin.mydomain.com" name="shortcut" code="start.class" archive="applet.jar" width="0" height="0"></applet>
    <applet name="shortcut" code="start.class" archive="http://admin.mydomain.com/applet.jar" width="0" height="0"></applet>in java.policy i tryed following versions with every html applet load version
    grant codeBase "http://admin.x-press.de/-" {
      permission java.security.AllPermission; 
    grant codeBase "http://admin.x-press.de/+" {
      permission java.security.AllPermission; 
    grant codeBase "http://admin.x-press.de/applet.jar" {
      permission java.security.AllPermission; 
    };why is it with
    grant {
      permission java.security.AllPermission; 
    };working, and not with the other versions?
    i am almost bold now, please try to save my last hair from falling down.
    any suggestion would be nice
    thanks, feyyaz
    Message was edited by:
    feyyazdogu

    I read the mentioned documentation and your right, some of my versions were wrong, but after reading the doumentation again i came to following result which should had worked but didn't.
    java.policy
    grant codeBase "http://admin.mydomain.com/*" {
      permission java.security.AllPermission;
    HTML File
    <applet codebase="http://admin.mydomain.com/" name="shortcut" code="start.class" archive="applet.jar" height="0" width="0"></applet>if I am entering http://admin.mydomain.com/applet.jar i can download the jar, so the archive lays in the correct directory.
    what i am doing wrong? do i have to change an additional file somewhere else?

  • Question about Java Applet Jar file signing.

    These questions pertain to Java 6 Standard Edition 1.6.0_22-b04 and later.
    I have gone through the Oracle Java Tutorial for generate public and private key information
    to sign a jar file, and how to sign the jar itself, all at
    [http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html|http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html]
    , and seek some clarification on the following related questions:
    -In order to "escape" the java applet sandbox that exists around the client's
    copy of the applet running in their web browser, ie.
    (something forbidden by default), is verification of the signed applet enough, or is a policy file required
    to stipulate these details?
    -using the policytool policy file generator, what do I need to add under "Principals"
    (if anything) when dealing with a Java applet? Are Codebase and SignedBy simply author information?
    -If I choose to use a java.security.Permission subclass object set up in equivalent fashion within the Applet,
    which class within the Applet jar do I instantiate that object in? Does it need to be mentioned
    in the applet's jar Manifest.MF file?
    -Is the "keystore database" a java language service/process which runs in
    the Server's memory and is simply accessed and started by default
    by the client verifier program (appletview/web browser)?
    -The public key certificate file (*.cer) is put in the webserver directory holding
    the Applet jar file (ie. Apache Tomcat, for example).
    -Presumably, the web browser detects the signed jar
    and certificate file, and provides the browser pop up menu asking the user
    about a new, non recognised certificate (initially).
    Is this so?
    -With this being the case, can the applet now escape
    the sandbox, be it with or without the stipulated
    policy permissions?

    848439 wrote:
    -In order to "escape" the java applet sandbox that exists around the client's
    copy of the applet running in their web browser, ie.
    (something forbidden by default), is verification of the signed applet enough, or is a policy file required
    to stipulate these details?Just sign the applet, the policy file is not necessary.
    -Is the "keystore database" a java language service/process which runs in
    the Server's memory and is simply accessed and started by default
    by the client verifier program (appletview/web browser)?No.
    -The public key certificate file (*.cer) is put in the webserver directory holding
    the Applet jar file (ie. Apache Tomcat, for example).No. For a signed Jar, all the information is contained inside the Jar.
    -Presumably, the web browser detects the signed jar
    and certificate file, and provides the browser pop up menu asking the user
    about a new, non recognised certificate (initially).
    Is this so?No. It is the JVM that determines when to pop the confirmation dialog.
    -With this being the case, can the applet now escape
    the sandbox, ..Assuming the end-user OK's the trust prompt, yes.
    ..be it with or without the stipulated
    policy permissions?Huh?

  • A helloworld java applet that will work on an html file

    I have spent a lot of time trying to get a java applet to work on a web page. Of course, I can download zip packages and they will work. But I can?t seem to find a formula for creating something simple that will work.
    All the examples that I have found will either work on Windows when running it on the command line, or work in Netbeans, but none of them will work when I put time into an html file on a linux web server.
    Can someone post, maybe the simplest code that will output ?Hello world? on a Linux Apache Web server.
    I have the gist for creating and programming java? as least a basic start. But I?m anxious to see an example that I can compile that will actually display on an html file and not just my Windows programming environment.
    Thanks in advance for any feedback on this.
    -- L. James
    L. D. James
    [email protected]
    www.apollo3.com/~ljames

    AndrewThompson64 wrote:
    apollothethird wrote:
    I have spent a lot of time trying to get a java applet to work on a web page. Of course, I can download zip packages and they will work.Does that somehow relate to this problem? What exactly does a Zip 'package' do when it 'works'?It displays the text on the web page.
    >
    .. But I can&#146;t seem to find a formula for creating something simple that will work.
    All the examples that I have found will either work on Windows when running it on the command line, or work in Netbeans, but none of them will work when I put time into an html file on a linux web server.
    Can someone post, maybe the simplest code that will output &#147;Hello world&#148; on a Linux Apache Web server.
    Is that a question? Please make sure to add a question mark.
    // <applet code='HelloWorldApplet' width='400' height='300'></applet>
    import javax.swing.*;
    public class HelloWorldApplet extends JApplet {
    public void init() {
    add(new JLabel("Hello World!"));
    validate();
    I have the gist for creating and programming java&#133; as least a basic start. ... Applets are not for newbies. Leave them alone for at least another 6 months.Thanks, Andrew. The lines of text you provided were very enlightening. I was able to do a lot of dissecting and experimenting and have the full gist of my question answered. I don?t have any problems outputting either text on the console or text on browsers.
    -- L. James
    L. D. James

  • Read, Write and create files from java applet.

    Dear All,
    I have created a two files. One is applet and one application file. I am creating a instance of application file in applet. Application file is used for reading, writing and creating files. When I invoke applet from broser it dipslays error wrt file access permission. From the forum search I know that we need to sign the applet / edit the java policy to run the code locally. Final delivery of my code should execute on different system. Its not web. I have created a html page on submitting the form it invokes applet to read the form values from param and needs to update the values in xml file located locally. Please help me on how I can proceed with this fix.
    Thanks in advance.

    Sorry if I have not stated the problem clearly. I need to update content to files hosted in local system using java applets.
    I belive there are two ways to achive that.One with jar signer and one with modifying the java policy file. But this application needs to be installed in different system locally as I have created a application with webpage as useinterface and need to update the content in local files on submission. Not sure on how to modify the java.policy files in each end user system and whats the value we need to update in java policy file. Please help me on the steps to be followed

  • Problem in display file in java applet embeded browser

    hi, i am facing problem to display the file from local drive in java applet embeded browser. here is the error message i get:
    Exception loading file from path:java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)
    i think it should be the java security problem and i have try to get the solution from internet. i try to solve by using the fllowing method:
    keytool -genkey -keyalg rsa -alias yourkey
    keytool -export -alias yourkey -file yourcert.crt
    javac yourapplet.java
    jar cvf yourapplet.jar yourapplet.class
    jarsigner yourapplet.jar yourkey
    but the command prompt ask me to enter the keystore password. i try to enter any password. but i show me the error:
    keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect.
    So may i know what is the problem actually?Thanks a lot.

    Hi,
    here is the sample coding :
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    import com.sun.j3d.utils.geometry.ColorCube;
    import com.sun.j3d.utils.applet.MainFrame;
    import com.sun.j3d.utils.universe.*;
    import com.sun.j3d.utils.behaviors.mouse.MouseRotate;
    import com.sun.j3d.utils.behaviors.mouse.MouseZoom;
    import com.sun.j3d.utils.behaviors.mouse.MouseTranslate;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import java.net.URL;
    import java.net.MalformedURLException;
    import org.web3d.j3d.loaders.VRML97Loader;
    import com.sun.j3d.loaders.Scene;
    public class SimpleVrml extends Applet implements ActionListener {
    String           location;
    String           initLocation;
    Canvas3D     canvas;
    SimpleUniverse     universe;
    TransformGroup     vpTransGroup;
    VRML97Loader     loader;
    View          view;
    Panel          panel;
    Label          label;
    BranchGroup     sceneRoot;
    TransformGroup     examineGroup;
    BranchGroup     sceneGroup;
    BoundingSphere     sceneBounds;
    DirectionalLight     headLight;
    AmbientLight     ambLight;
    TextField      textField;
    Cursor          waitCursor;
    Cursor          handCursor;
    public SimpleVrml() {
    initLocation="cylinder.wrl";     
         setLayout(new BorderLayout());
         GraphicsConfiguration config =SimpleUniverse.getPreferredConfiguration();     
         setLayout(new BorderLayout());
         canvas = new Canvas3D(config);
         add("Center",canvas);
         panel = new Panel();
         panel.setLayout(new FlowLayout(FlowLayout.LEFT));
         textField = new TextField(initLocation,60);     
         textField.addActionListener(this);
         label = new Label("Location:");
         panel.add(label);
         panel.add(textField);
         add("North",panel);
         waitCursor = new Cursor(Cursor.WAIT_CURSOR);
         handCursor = new Cursor(Cursor.HAND_CURSOR);
         universe = new SimpleUniverse(canvas);
         ViewingPlatform viewingPlatform = universe.getViewingPlatform();
         vpTransGroup = viewingPlatform.getViewPlatformTransform();
         Viewer viewer = universe.getViewer();
         view = viewer.getView();
         setupBehavior();
         loader = new VRML97Loader();
         gotoLocation(initLocation);
    public void actionPerformed(ActionEvent ae) {
         gotoLocation(textField.getText());
    void gotoLocation(String location) {
         canvas.setCursor(waitCursor);
         if (sceneGroup != null) {
         sceneGroup.detach();
         Scene scene = null;
         try {
         URL loadUrl = new URL(location);
         try {
              // load the scene
              scene = loader.load(new URL(location));
         } catch (Exception e) {
              System.out.println("Exception loading URL:" + e);
         } catch (MalformedURLException badUrl) {
         // location may be a path name     
         try {
              // load the scene
              scene = loader.load(location);
         } catch (Exception e) {
              System.out.println("Exception loading file from path:" + e);
         if (scene != null) {
         // get the scene group
         sceneGroup = scene.getSceneGroup();
         sceneGroup.setCapability(BranchGroup.ALLOW_DETACH);
         sceneGroup.setCapability(BranchGroup.ALLOW_BOUNDS_READ);
         // add the scene group to the scene
         examineGroup.addChild(sceneGroup);
         // now that the scene group is "live" we can inquire the bounds
         sceneBounds = (BoundingSphere)sceneGroup.getBounds();
         // set up a viewpoint to include the bounds
         setViewpoint();
         canvas.setCursor(handCursor);
    void setViewpoint() {
         Transform3D viewTrans = new Transform3D();
         Transform3D eyeTrans = new Transform3D();
         // point the view at the center of the object
         Point3d center = new Point3d();
         sceneBounds.getCenter(center);
         double radius = sceneBounds.getRadius();
         Vector3d temp = new Vector3d(center);
         viewTrans.set(temp);
         // pull the eye back far enough to see the whole object
         double eyeDist = 1.4*radius / Math.tan(view.getFieldOfView() / 2.0);
         temp.x = 0.0;
         temp.y = 0.0;
         temp.z = eyeDist;
         eyeTrans.set(temp);
         viewTrans.mul(eyeTrans);
         // set the view transform
         vpTransGroup.setTransform(viewTrans);
    private void setupBehavior() {
         sceneRoot = new BranchGroup();
         examineGroup = new TransformGroup();
         examineGroup.setCapability(TransformGroup.ALLOW_CHILDREN_EXTEND);
         examineGroup.setCapability(TransformGroup.ALLOW_CHILDREN_READ);
         examineGroup.setCapability(TransformGroup.ALLOW_CHILDREN_WRITE);
         examineGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
         examineGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
         sceneRoot.addChild(examineGroup);
         BoundingSphere behaviorBounds = new BoundingSphere(new Point3d(),
              Double.MAX_VALUE);
         MouseRotate mr = new MouseRotate();
         mr.setTransformGroup(examineGroup);
         mr.setSchedulingBounds(behaviorBounds);
         sceneRoot.addChild(mr);
         MouseTranslate mt = new MouseTranslate();
         mt.setTransformGroup(examineGroup);
         mt.setSchedulingBounds(behaviorBounds);
         sceneRoot.addChild(mt);
         MouseZoom mz = new MouseZoom();
         mz.setTransformGroup(examineGroup);
         mz.setSchedulingBounds(behaviorBounds);
         sceneRoot.addChild(mz);
         BoundingSphere lightBounds =
         new BoundingSphere(new Point3d(), Double.MAX_VALUE);
    ambLight = new AmbientLight(true, new Color3f(1.0f, 1.0f, 1.0f));
    ambLight.setInfluencingBounds(lightBounds);
    ambLight.setCapability(Light.ALLOW_STATE_WRITE);
    sceneRoot.addChild(ambLight);
    headLight = new DirectionalLight();
    headLight.setCapability(Light.ALLOW_STATE_WRITE);
    headLight.setInfluencingBounds(lightBounds);
    sceneRoot.addChild(headLight);
         universe.addBranchGraph(sceneRoot);
    public static void main(String[] args) {
    new MainFrame(new SimpleVrml(), 780, 780);
    cylinder.wrl :
    #VRML V2.0 utf8
    # A cylinder
    Shape {
    appearance Appearance {
    material Material { }
    geometry Cylinder {
    height 2.0
    radius 1.5
    view.html:
    <html>
    <applet code="SimpleVrml.class" width=600 height=600>
    </applet>
    </html>
    error msg that i get :
    Exception loading file from path:java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)
    i can display the wrl file in applet itself but i can't display in the browser.is it any problem with my code?Urgent, please help me. Thanks.

  • Java applet runs inside html page when opened with http, but no longer with "Open File" menu, why?

    Using the "Open File" menu, file:///Users/234866H/Documents/atom/atomic1.html fails to open the java applet atomic1.class inside atomic.html. However, http://atom.curtin.edu.au/igor/atom/atomic1.html works just fine.
    I suspect the problem arose following the recent java upgrade. It is also there on Safari.
    Testing Java at http://www.java.com/en/download/testjava.jsp yields:
    "Your Java is working. Your Java configuration is as follows: Vendor: Apple Inc. Version: Java SE 6 Update 51 Operating System: Mac OS X 10.6.8 Java Architecture: 64-bit"
    However, this is an http test, and not an "Open File" test.
    Any help would be appreciated.

    Hello, I don't know about this specifically but this is what I would try.
    Instead of the string "\u7834\u70C2\u7269\u7A0B\u5E8F\u5458..."
    Set the encoding type in the String constructor first...
    ie:
    new String( "\u7834\u70C2\u7269\u7A0B\u5E8F\u5458...","GB18030");
    Here is a little class I whipped up to show the CharSets that are available to you..
    public class ShowAllCharSets
    ShowAllCharSets()
    Map myMap = Charset.availableCharsets();
    Iterator iterator = myMap.keySet().iterator();
       while (iterator.hasNext())
          System.out.println("Char set name = "+((String)it.next()));
    public static void main(String args[])
       new ShowAllCharSets();
    }Then use the preset charset String with the specific encoding already set for your menu items.
    GB18030 I picked arbitrarily because it is Chinese and you may have to try another.
    Good Luck!
    (T)

Maybe you are looking for

  • JavaScript in Form Acts Differently in Acrobat X and Reader X

    I have a fillable PDF form whose Submit button calls this JavaScript: this.mailForm(true); When I open this form in Acrobat X Pro and hit the submit button, a mail dialog box comes up as I would expect. When I open this form in Acrobat Reader X and h

  • ITunes account disabled

    My itunes account has been disabled because i put in my password on caps lock 3 times. How do i enable it again? Thanks

  • How to use: DOMProcessingInstruction?

    Hi All, Could somebody please help me with the following. I'm using the xmldom to create my xml files based on queries from the database. (using a PL/SQL package) The problem is that the processing instruction is never added to the top of the xml fil

  • Oracle Forms 11g R2

    All, I have done the following to Install Oracle Forms 11g R2 on a windows 7 64 bit computer. For some reason I am just not able to complete my installation. I will really appreciate any help from any one on this forum. 1.     I downloaded jdk-6u30-w

  • Escaping single quotes

    I didn't write the original database access/pooling code for this web app, and right now we've got an issue with single quotes in data not being escaped properly. I've read that PreparedStatement takes care of this for you, but I've only started usin