Applet detector destroyed

Hi,
After i downloaded the Java update and restarted i noticed my menu bar was gone. After another 3 reboots my menu bar finally appeared on my desktop. I can open Safari now, but if i go into certain websites. I get the message Applet detector destroyed and it shuts down safari. Below is a sample of what appears.I also noticed on this Discussion forum that the search icon under search forums is now a bit mixed up. I just purchased a new 21.5 Imac, and i am now using my trusty ibook G4 as it is running leopard. Any help would be greatly appreciated.
Process: Safari 289
Path: /Applications/Safari.app/Contents/MacOS/Safari
Identifier: com.apple.Safari
Version: 4.0.4 (6531.21.10)
Build Info: WebBrowser-65312110~2
Code Type: X86-64 (Native)
Parent Process: launchd 102
Date/Time: 2009-12-04 11:10:00.993 +0000
OS Version: Mac OS X 10.6.2 (10C540)
Report Version: 6
Interval Since Last Report: 129466 sec
Crashes Since Last Report: 86
Per-App Interval Since Last Report: 77541 sec
Per-App Crashes Since Last Report: 9
Anonymous UUID: B58F4713-EBFB-492D-8277-9DC9DFEC1CEE
Exception Type: EXCBADACCESS (SIGBUS)
Exception Codes: KERNPROTECTIONFAILURE at 0x00007fff70554dd0
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Application Specific Information:
Java information:
Exception type: Bus Error (0xa) at pc=0x00007fff70554dd0
Java VM: Java HotSpot(TM) 64-Bit Server VM (14.3-b01-101 mixed mode macosx-amd64)
Current thread (0x000000011a02c000): JavaThread "AWT-AppKit" daemon thread_innative, id=1884695520, stack(0x00007fff5f400000,0x00007fff5fc00000)
Stack: 0x00007fff5f400000,0x00007fff5fc00000
Java Threads: ( => current thread )
0x000000011a1e1800 JavaThread "AWT-EventQueue-0" threadblocked, id=767582208, stack(0x000000012db06000,0x000000012dc06000)
0x000000011a000800 JavaThread "Thread-4" daemon threadblocked, id=764399616, stack(0x000000012d7fd000,0x000000012d8fd000)
0x000000011e1f3800 JavaThread "CacheCleanUpThread" daemon threadblocked, id=763338752, stack(0x000000012d6fa000,0x000000012d7fa000)
0x000000011e082800 JavaThread "CacheMemoryCleanUpThread" daemon threadblocked, id=762277888, stack(0x000000012d5f7000,0x000000012d6f7000)
0x000000011e163000 JavaThread "traceMsgQueueThread" daemon threadblocked, id=761217024, stack(0x000000012d4f4000,0x000000012d5f4000)
0x000000011e0ef800 JavaThread "Java2D Disposer" daemon threadblocked, id=760156160, stack(0x000000012d3f1000,0x000000012d4f1000)
0x000000011a02c800 JavaThread "AWT-Shutdown" threadblocked, id=755621888, stack(0x000000012cf9e000,0x000000012d09e000)
=>0x000000011a02c000 JavaThread "AWT-AppKit" daemon thread_innative, id=1884695520, stack(0x00007fff5f400000,0x00007fff5fc00000)
0x000000011a026800 JavaThread "Low Memory Detector" daemon threadblocked, id=750870528, stack(0x000000012cb16000,0x000000012cc16000)
0x000000011e08e000 JavaThread "CompilerThread1" daemon threadblocked, id=749809664, stack(0x000000012ca13000,0x000000012cb13000)
0x000000011e08d000 JavaThread "CompilerThread0" daemon threadblocked, id=748748800, stack(0x000000012c910000,0x000000012ca10000)
0x000000011e08c800 JavaThread "Signal Dispatcher" daemon threadblocked, id=747687936, stack(0x000000012c80d000,0x000000012c90d000)
0x000000011e08b800 JavaThread "Surrogate Locker Thread (CMS)" daemon threadblocked, id=746627072, stack(0x000000012c70a000,0x000000012c80a000)
0x000000011e080000 JavaThread "Finalizer" daemon threadblocked, id=745566208, stack(0x000000012c607000,0x000000012c707000)
0x000000011e07f000 JavaThread "Reference Handler" daemon threadblocked, id=744505344, stack(0x000000012c504000,0x000000012c604000)
Other Threads:
0x000000011e078800 VMThread stack: 0x000000012c401000,0x000000012c501000 id=743444480
0x000000011a027000 WatcherThread stack: 0x000000012cc19000,0x000000012cd19000 id=751931392
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None

You could try backing up your data, and then doing an upgrade install of Snow Leopard over itself, off the Snow Leopard disc.
Alternatively, if you can find the Java program itself, use a utility such as AppZapper to uninstall it. See if that helps.

Similar Messages

  • Applet QuoteWinnerLite destroyed

    My aspx pageA includes a ajax TabContainer, the tabContainer have two tabPanels:tabPanelA & tabPanelB. There is a java applet in tabPanelA. The tabPanelA is the activated tab by default. The status bar on safari shows "Applet QuoteWinnerLite destroyed" when i click tabPanelB, then the java applet disappears when i click back tabPanelA. This case just occured on browser safari. Why? Would you give me a hand ? What can i do to resolve it ?

    You could try backing up your data, and then doing an upgrade install of Snow Leopard over itself, off the Snow Leopard disc.
    Alternatively, if you can find the Java program itself, use a utility such as AppZapper to uninstall it. See if that helps.

  • Can applet be destroyed explicitly

    Hi
    Does any one know how to destroy an applet explicitly, i.e can we call the destroy method applet in our program.
    Thanks.

    Hi,
    I think your point is right, but my problem is that i have to load an applet in a browser. Then i have to load another applet over it. But that does not happen. The applet is loaded on its side, and the earlier applet is not unloaded and is still visible. And i am calling both the applets from a JSP page. So What can i do to unload the earlier applet.

  • IE5 destroy() applets

    IE5 seems to call my applet's destroy() function everytime I leave the HTML (I use a println statement and the java console to check). I thought this was just supposed to happen when I close explorer.
    I do not have the Java2 plug in installed.
    How can I avoid this?
    Thanks in advance.

    Basically you can't, or your going to have to find out more about IE 5. Maybe you should contact the developers.

  • Problems with pacman applet, and advice on a gaming portfolio

    Hi
    I recently made a pacman applet, im having a few problems with it though, the first time the applet is run on a browser, the ghosts(represented by squares) often dont appear or if they do, they are stuck in walls, this never happens when i run offline on my computer. Is this because the very first time the applet is run, it doesnt load properly, but the second time some of the files are in the cache so it loads fully?
    Also everytime i refresh the browser the applet dissapears and is replaced with a blank space and a cross in the top left hand corner, does anyone know the reason for this?
    The applet can be found below, if you do decide to play it, please bear in mind what i have said, so it might not load correctly the first time, if this is the case please refresh, or close the broswer and reopen the link! Also you will need to click the applet for it to gain focus before you can move pacman - use the arrow keys the control pacman.
    http://www.renaissance-designs.co.uk/Satwant/java/pacman/
    Id also be very gratful for some advice - id like a change in career, ive always wanted to get into gaming, ive had some previous knowledge in java i made a programme that could generate its own poetry in java for my dissatation, but i still never had a huge amount of confidence, and so went into websites.
    BUT now i have decided to take the leap back into programming and give it a go, which is why ive made this game.
    I thought id make a portfolio and try and apply for a few gaming jobs. This applet took me two weeks to make and it was in my spare time, i am fully aware its not perfect, and it doesnt look great, but i would like to know what people think of it, also how many more games do you think i should make, before i apply for gaming jobs? Does anyone have any advice on what would make a good portfolio for a java gaming job?
    Thanks alot, i look forward to what you think of the game, and your advice!
    SSKenth

    sskenth wrote:
    Thanks for getting back to me with that information, i didnt know you could see that information with just a simple right click!
    But im afraid that doesnt really help me solve the problem, im not sure what all of that information means! :SI have very little experience with applets, but I can tell you what I would do to debug this (forgive me if you already know this stuff).
    Look at the stack trace you get in the Java Console that I posted earlier. Each line contains a method that was called from the method on the previous line. So, java.lang.Thread.run() called sun.applet.AppletPanel.run(), which called Room.init(), etc. Look at the topmost line whose method is something you wrote, not something in the standard Java libraries. In your case it looks like PaintSurface.java (specifically, line 22). Look at what line 22 of PaintSurface.java is doing, it's calling Thread.start(). If you check out the Javadoc for Thread.start(), it says IllegalThreadStateException gets thrown if you call start() on a thread that has already started. So that's your problem. Without looking at your code, I'd assume you want to stop your thread in your applet's destroy() override, and instead of reusing it, create a new one each time init() is called.
    Ill try and look into, thanks again though, it gives me somthing to work with :D
    Btw when you first ran the applet, did all the ghosts(3) load up correctly?Unfortunately, no. The first time I ran it, there was only 1 ghost (or maybe all 3 overlapping each other?) at the top of the screen, and they never moved. Refreshing once made the game play as I think you want it to. Refreshing a third time gave the dreaded red X.
    ...oh and just out of curiosity,,, did u have fun playing the game :DSure did.

  • Applets and memory not being released by Java Plug-in

    Hi.
    I am experiencing a strange memory-management behavior of the Java Plug-in with Java Applets. The Java Plug-in seems not to release memory allocated for non-static member variables of the applet-derived class upon destroy() of the applet itself.
    I have built a simple "TestMemory" applet, which allocates a 55-megabytes byte array upon init(). The byte array is a non-static member of the applet-derived class. With the standard Java Plug In configuration (64 MB of max JVM heap space), this applet executes correctly the first time, but it throws an OutOfMemoryException when pressing the "Reload / Refresh" browser button or if pressing the "Back" and then the "Forward" browser buttons. In my opionion, this is not an expected behavior. When the applet is destroyed, the non-static byte array member should be automatically invalidated and recollected. Isn't it?
    Here is the complete applet code:
    // ===================================================
    import java.awt.*;
    import javax.swing.*;
    public class TestMemory extends JApplet
      private JLabel label = null;
      private byte[] testArray = null;
      // Construct the applet
      public TestMemory()
      // Initialize the applet
      public void init()
        try
          // Initialize the applet's GUI
          guiInit();
          // Instantiate a 55 MB array
          // WARNING: with the standard Java Plug-in configuration (i.e., 64 MB of
          // max JVM heap space) the following line of code runs fine the FIRST time the
          // applet is executed. Then, if I press the "Back" button on the web browser,
          // then press "Forward", an OutOfMemoryException is thrown. The same result
          // is obtained by pressing the "Reload / Refresh" browser button.
          // NOTE: the OutOfMemoryException is not thrown if I add "testArray = null;"
          // to the destroy() applet method.
          testArray = new byte[55 * 1024 * 1024];
          // Do something on the array...
          for (int i = 0; i < testArray.length; i++)
            testArray[i] = 1;
          System.out.println("Test Array Initialized!");
        catch (Exception e)
          e.printStackTrace();
      // Component initialization
      private void guiInit() throws Exception
        setSize(new Dimension(400, 300));
        getContentPane().setLayout(new BorderLayout());
        label = new JLabel("Test Memory Applet");
        getContentPane().add(label, BorderLayout.CENTER);
      // Start the applet
      public void start()
        // Do nothing
      // Stop the applet
      public void stop()
        // Do nothing
      // Destroy the applet
      public void destroy()
        // If the line below is uncommented, the OutOfMemoryException is NOT thrown
        // testArray = null;
      //Get Applet information
      public String getAppletInfo()
        return "Test Memory Applet";
    // ===================================================Everything works fine if I set the byte array to "null" upon destroy(), but does this mean that I have to manually set to null all applet's member variables upon destroy()? I believe this should not be a requirement for non-static members...
    I am able to reproduce this problem on the following PC configurations:
    * Windows XP, both JRE v1.6.0 and JRE v1.5.0_11, both with MSIE and with Firefox
    * Linux (Sun Java Desktop), JRE v1.6.0, Mozilla browser
    * Mac OS X v10.4, JRE v1.5.0_06, Safari browser
    Your comments would be really appreciated.
    Thank you in advance for your feedback.
    Regards,
    Marco.

    Hi Marco,
    my guess as to why JPI would keep references around, if it does keep them, is that it propably is an implementation side effect. A lot of things are cached in the name of performance and it is easy to leave things laying around in your cache. Maybe the page with the associated images/applets is kept in the browser cache untill the browser needs some memory and if the browser memory manager is not co-operating with the JPI/JVM memory manager the browser is not out of memory, thus not releasing its caches but the JVM may be out of memory. Thus the browser indirectly keeps the reference that it realy does not need. This reference could be inderect through some 'applet context' or what ever the browser uses to interact with JPI, don't realy know any of these details, just imaging what must/could be going on there. Browser are amazingly complicated beast.
    This behaviour that you are observing, weather the origin is something like I speculated or not, is not nice but I would not expect it to be fixed even if you filed a bug report. I guess we are left with relleasing all significatn memory structures in destroy. A simple way to code this is not to store anything in the member fields of the applet but in a separate class; then one has to do is to null that one reference from the applet to that class in the destroy method and everything will be relased when necessary. This way it is not easy to forget to release things.
    Hey, here is a simple, imaginary, way in which the browser could cause this problem:
    The browser, of course needs a reference to the applet, call it m_Applet here. Presume the following helper function:
    Applet instantiateAndInit(Class appletClass) {
    Applet applet=appletClass.newInstance();
    applet.init();
    return applet;
    When the browser sees the applet tag it instantiates and inits the new applet as follows:
    m_Applet=instantiateAndInit(appletClass);
    As you can readily see, the second time the instantiation occurs, the m_Applet holds the reference to the old applet until after the new instance is created and initlized. This would not cause a memory leak but would require that twice the memory needed by the applet would be required to prevent OutOfMemory.I guess it is not fair to call this sort of thing a bug but it is questionable design.In real life this is propably not this blatant, but could happen You could try, if you like, by allocating less than 32 Megs in your init. If you then do not run out of memory it is an indication that there are at most two instances of your applet around and thus it could well be someting like I've speculated here.
    br Kusti

  • Disposed component in an applet

    an applet sometimes throws a NullPointerException. here is the tree:
    java.lang.NullPointerException: disposed component at
    sun.awt.windows.Win32SurfaceData.initOps(Native Method) at
    sun.awt.windows.Win32SurfaceData.<init>(Unknown Source) at
    sun.awt.windows.Win32SurfaceData.createData(Unknown Source) at
    sun.awt.windows.WComponentPeer.<init>(Unknown Source) at
    sun.awt.windows.WChoicePeer.<init>(Unknown Source) at
    sun.awt.windows.WToolkit.createChoice(Unknown Source) at
    java.awt.Choice.addNotify(Unknown Source) at
    java.awt.Container.addNotify(Unknown Source) at
    java.awt.Panel.addNotify(Unknown Source) at
    java.awt.Container.addNotify(Unknown Source) at
    java.awt.Panel.addNotify(Unknown Source) at
    java.awt.Container.addImpl(Unknown Source) at
    java.awt.Container.add(Unknown Source) at NewTable.init
    (NewTable.java:75) at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    as you see the exception is thrown in line 75.
    line 75 in my code looks like this: i add a panel
    to the appletwhich were relayouted earlier with borderlayout. it
    looks like this:
    74 Panel p=new Panel();
    75 this.add(p,BorderLayout.CENTER);
    now, the exception is probably thrown because i run the add() method
    on a component which containment hierarchy is made undisplayable.
    according the api it can happen when the component's ancestor window
    is disposed.
    the question is why it is getting disposed? i payed attention that
    the exception is thrown only on 2 specific win98 machines and it's
    never thrown when the user opens the applet in the first time.
    usually it happens when a number of users visit the same page which
    includes this applet and the browser is not closed between the user
    sessions...but! the users always press a button on applet which redirects them to another page, which means that the applet calls destroy() on itself ...
    i thought to add an isDisplayable() check , but it will only give me
    a control over the exception, not the no-problem-sollution.
    any ideas what can be fixed?
    thanX

    how do you run your applet - using applet viewr or a browser?
    anyway, when debugging, don't assume anything.
    in line 75 you may try System.err.println( this )
    if you don't get null, try:
    System.err.println this.GetXXX() and print as much as you can about your object.

  • Applet overwritten when second instance initialized ?

    Hi
    When I try to initialize a second instance of an applet using IE(one instance is already running), I find that the first applet is overwritten by the second. This should not have been a problem, but my applet launches a password verification dialog box in the start method, and this is not destroyed when the second applet comes up, resulting in 2 of these dialog boxes. Result is, that if you close the second applet dialog box(ie, destroy the applet), and then enter the right password in the first dialog box, it causes the backend program to crash.
    The Java Console shows that IE calls the 1st applet's stop/destroy/quit etc. methods, but they are not executed before being overwritten by second applet, hence destroying the dialog box in destroy() doesn't work. So, is there any way I can destroy the 1st applet before the second is loaded, or prevent second from being loaded?
    Thanks
    Santosh

    Hello Santosh,
    I have had many difficulties with this kind of problem in the past. The only way to gurantee that this will work is by making the Server more resilient.
    Calin's suggestion is good. However, unfortunately, IE manages Applets in a very funny way. The fully qualified name of the Applet class depends on the window you opened the original Applet with (much like having loaded the same class with different ClassLoaders). This means that using static instance variables works in a very ad-hoc manner. Sometimes you get the result you expected, sometimes you don't.
    IE also breaks the expected functioning of init/start/stop/destroy. If you keep on openning your applet HTML page, you will get the same number of concurrent applets all running on top of each other, until you close all browser windows.
    If you have control over the Server process, make the start() method request a unique ID from the Server. After this, all subsequent calls from the Applet should be preceeded by this unique ID. The server should then listen for communication for each ID it has dispatched, up until a given timeout period, when it renders the ID invalid.
    HTH,
    Manuel Amago.

  • First Applet Game

    I was trying to write snake. After discovering the Timer class, i was able to get the snake to move properly. However, i cant get it to turn. I think I did something wrong with the key listener.
    import javax.swing.Timer;
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    public class Snake extends Applet implements KeyListener
        private int length,dir; //for dir, 2=down, 4=left, 8=up, 6=right
        private int[] snakeX=new int[99];
        private int[] snakeY=new int[99];
        public void init()
            addKeyListener(this);
            length=5;
            dir=6;
            for (int c=0;c<length;c++)
                snakeX[c]=150-20*c;
                snakeY[c]=150;
         * Called by the browser or applet viewer to inform this Applet that it
         * should start its execution. It is called after the init method and
         * each time the Applet is revisited in a Web page.
        public void start()
            int delay = 1000; //milliseconds
            ActionListener taskPerformer = new ActionListener() {
                public void actionPerformed(ActionEvent evt) {
                     move();
             new Timer(delay, taskPerformer).start();
        public void update(Graphics g) {
            // Redefine update so it doesn't erase the applet before calling
            // paint().
          paint(g);
         * This may be the most important method in your applet: Here, the
         * drawing of the applet gets done. "paint" gets called everytime the
         * applet should be drawn on the screen. So put the code here that
         * shows the applet.
         * @param  g   the Graphics object for this applet
        public void paint(Graphics g)
            //field
            g.setColor(Color.white);
            g.fillRect(0, 0, 500, 500);
            //snake
            g.setColor(Color.blue);
            for (int c=0;c<length;c++)
                g.fillRect(snakeX[c] ,snakeY[c], 20, 20);
         public void changeDir(int direction)
             dir=direction;
         public void keyTyped(KeyEvent evt) {
             int key = evt.getKeyCode();  // keyboard code for the key that was pressed
             if (key == KeyEvent.VK_LEFT)
                changeDir(4);
             else if (key == KeyEvent.VK_RIGHT)
                changeDir(6);
             else if (key == KeyEvent.VK_UP)
                changeDir(8);
             else if (key == KeyEvent.VK_DOWN)
                changeDir(2);
         public void keyReleased(KeyEvent e) {
         public void keyPressed(KeyEvent e) {                       
        public void move()
            int x=snakeX[0];
            int y=snakeY[0];
            int xChange=0;
            int yChange=0;
            for (int c=length-1;c>0;c--)
                snakeX[c]=snakeX[c-1];
                snakeY[c]=snakeY[c-1];
            switch (dir)
                case 8: yChange=-20; break;
                case 4: xChange=-20; break;
                case 6: xChange=20; break;
                case 2: yChange=20; break;
            snakeX[0]=x+xChange;
            snakeY[0]=y+yChange;
            repaint();
        public boolean isAlive()
            if (snakeX[0]<0 || snakeX[0]>280 || snakeY[0]<0 || snakeY[0]>280)
                return false;
            for (int c=1;c<length;c++)
                if (snakeX[0]==snakeX[c] && snakeY[0]==snakeY[c])
                    return false;
            return true;
         * Called by the browser or applet viewer to inform this Applet that
         * it should stop its execution. It is called when the Web page that
         * contains this Applet has been replaced by another page, and also
         * just before the Applet is to be destroyed. If you do not have any
         * resources that you need to release (such as threads that you may
         * want to stop) you can remove this method.
        public void stop()
            // provide any code that needs to be run when page
            // is replaced by another page or before Applet is destroyed
         * Called by the browser or applet viewer to inform this Applet that it
         * is being reclaimed and that it should destroy any resources that it
         * has allocated. The stop method will always be called before destroy.
         * If you do not have any resources that you need to release you can
         * remove this method.
        public void destroy()
            // provide code to be run when Applet is about to be destroyed.
    }The Timer creates new thread. I think i need to get the Key Listener into that thread, but Im not sure how to. Please help me do this. (Btw, i know the delay is too long)

    this is the code, same with your code but keyTyped is moved to keyPressed, and it is an applet-application game
    if playing as applet, be sure to click in the applet area to have it focus
    and one thing, there's nothing wrong with the thread
    import javax.swing.Timer;
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    public class Snake extends Applet implements KeyListener{
         private int length,dir; //for dir, 2=down, 4=left, 8=up, 6=right
         private int[] snakeX=new int[99];
         private int[] snakeY=new int[99];
         public void init() {
              addKeyListener(this);
              length=5;
              dir=6;
              for (int c=0;c<length;c++) {
                   snakeX[c]=150-20*c;
                   snakeY[c]=150;
         public void start() {
              int delay = 1000; //milliseconds
              ActionListener taskPerformer = new ActionListener() {
                   public void actionPerformed(ActionEvent evt) {
                        move();
              new Timer(delay, taskPerformer).start();
         public void update(Graphics g) {
              // Redefine update so it doesn't erase the applet before calling
              // paint().
              paint(g);
         public void paint(Graphics g)    {
              //field
              g.setColor(Color.white);
              g.fillRect(0, 0, 500, 500);
              //snake
              g.setColor(Color.blue);
              for (int c=0;c<length;c++) {
                   g.fillRect(snakeX[c] ,snakeY[c], 20, 20);
         public void changeDir(int direction)     {
              dir=direction;
         public void keyTyped(KeyEvent evt) {
              // moved to keyPressed(KeyEvent) method
         public void keyReleased(KeyEvent e) { }
         public void keyPressed(KeyEvent e) {
              int key = e.getKeyCode();   // keyboard code for the key that was pressed
              if (key == KeyEvent.VK_LEFT) {
                  changeDir(4);
              } else if (key == KeyEvent.VK_RIGHT) {
                   changeDir(6);
              } else if (key == KeyEvent.VK_UP) {
                   changeDir(8);
              } else if (key == KeyEvent.VK_DOWN) {
                   changeDir(2);
         public void move()    {
              int x=snakeX[0];
              int y=snakeY[0];
              int xChange=0;
              int yChange=0;
              for (int c=length-1;c>0;c--)        {
                   snakeX[c]=snakeX[c-1];
                   snakeY[c]=snakeY[c-1];
              switch (dir)        {
                   case 8: yChange=-20; break;
                   case 4: xChange=-20; break;
                   case 6: xChange=20; break;
                   case 2: yChange=20; break;
              snakeX[0]=x+xChange;
              snakeY[0]=y+yChange;
              repaint();
         public boolean isAlive()    {
              if (snakeX[0]<0 || snakeX[0]>280 || snakeY[0]<0 || snakeY[0]>280) {
                    return false;
              for (int c=1;c<length;c++) {
                   if (snakeX[0]==snakeX[c] && snakeY[0]==snakeY[c]) {
                        return false;
              return true;
         public static void main(String[] args) {
              Snake game = new Snake();
              game.init();
              Frame f = new Frame();
              f.setSize(500, 530);
              f.add(game);
              f.setVisible(true);
              game.start();
              game.requestFocus();
    }and you might want to see this: http://goldenstudios.uni.cc/contents/products/games/bin/snake.jnlp

  • Altering Applet Lifecycles

    Hi all,
    We've coded a large application and I've deployed it as an applet over the web. The problem is when a user clicks the refresh button or the back button on the browser. The applet's destroy method is called and then the init method and the applet is reloaded. Is there any way to stop an applet from being unloaded when you refresh or move off a page. We would like the applet to continue running in memory and maintain its state to repaint itself for when the user returns to the applet page.
    If the browser was closed we would obviously want to unload the applet at that point.
    Thanks in advance,
    Phillip Urrea

    Sorry, I meant to mention that I'm using the Java Plugin 1.3.1_02

  • Load: class oracle.forms.engine.Main not found Stuck at loading Java Applet

    Hi there
    I have recently installed App Server 10.1.2.0 on a new machine.
    Copied all my forms to an appropriate directory. Set up formsweb.cfg to allow them to run and have attempted to run them.
    Unfortunately I get stuck at the Loading Java Applet screen, and in the status bar at the bottom it says :
    load: class oracle.forms.engine.Main not found
    I have taken a look at the Java Console, and the 2 things that jump out at me are that it appears to be looking for a forms90 directory, which seems odd since I am using App Server 10.1.2.0.2 and Forms Builder 10.1.2.0.2 meaning it should be looking in a forms directory not forms90 directory shouldnt it ?
    And also, it mentions class with no proxy, so on looking around the forums it has been suggested that put the proxy details into jinitiator, which I have done, but this has made no difference either.
    Can anyone suggest anything else please ?
    Java Console log follows.
    Thanks a lot
    Scott
    Oracle JInitiator: Version 1.3.1.9
    Using JRE version 1.3.1.9 Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\hilliers
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    q: hide console
    s: dump system properties
    t: dump thread list
    x: clear classloader cache
    0-5: set trace level to <n>
    Unregistered modality listener
    Removed trace listener: sun.plugin.ocx.ActiveXAppletViewer[oracle.forms.engine.Main,0,0,914x613,layout=java.awt.BorderLayout]
    Sending events to applet. STOP
    Sending events to applet. DESTROY
    Sending events to applet. DISPOSE
    Sending events to applet. QUIT
    Finding information...
    Releasing classloader: sun.plugin.ClassLoaderInfo@d9850, refcount=0
    Caching classloader: sun.plugin.ClassLoaderInfo@d9850
    Current classloader cache size: 1
    Done...
    Registered modality listener
    Referencing classloader: sun.plugin.ClassLoaderInfo@d9850, refcount=1
    Added trace listener: sun.plugin.ocx.ActiveXAppletViewer[oracle.forms.engine.Main,0,0,914x613,invalid,layout=java.awt.BorderLayout]
    Sending events to applet. LOAD
    Sending events to applet. INIT
    Sending events to applet. START
    Determine if the applet requests to install any HTML page
    HTML Installation finished.
    Opening http://appserver008/forms90/java/oracle/forms/engine/Main.class
    Connecting http://appserver008/forms90/java/oracle/forms/engine/Main.class with no proxy
    Opening http://appserver008/forms90/java/oracle/forms/engine/Main.class
    Connecting http://appserver008/forms90/java/oracle/forms/engine/Main.class with no proxy
    load: class oracle.forms.engine.Main not found.
    java.lang.ClassNotFoundException: java.io.IOException: open HTTP connection failed.
         at sun.applet.AppletClassLoader.getBytes(Unknown Source)
         at sun.applet.AppletClassLoader.access$100(Unknown Source)
         at sun.applet.AppletClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.applet.AppletClassLoader.findClass(Unknown Source)
         at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.applet.AppletClassLoader.loadCode(Unknown Source)
         at sun.applet.AppletPanel.createApplet(Unknown Source)
         at sun.plugin.AppletViewer.createApplet(Unknown Source)
         at sun.applet.AppletPanel.runLoader(Unknown Source)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)

    You're a star, thanks.
    In my haste I had cut too much out of my old formsweb.cfg file and not realised I'd done it.
    Thanks Francois.

  • How to get applet to behave like in IE

    Hi,
    Right now IE and Netscape do not behave identically when users leave the HTML page containing the applet. IE destroys the applet completely (calls methods stop() and destroy()) while Netscape only stops the applet (by calling stop()). I would like my applet to behave the way it does in IE in any browser. So when the user leaves the page, the applet is destroyed in Netscape and IE. Does anyone know what is the best way this can be done? Would calling the destroy() method from within the stop() method work? But then, the browser might attempt to call the destroy() method after stop() and the applet won't exist by then. Thanks in advance.

    DISCLAIMER: I am new at this, but can't you check what browser you are in. I realize that you may have to do some validation on a variety of browser (most of which are free). I thought that most of the browser related information was available. I know it is in javascript, but I thought I came acrossed in Java as well. I realize this is not your industry answer, but it seems like the way a lot of web sites are written.

  • JOptionPane does not get destroyed

    hi everyone,
    i am using jdk1.4.1
    i am using a JOptionPane to show a confirm dialog and then depending on the response i am sending a response to servlet, which processes correctly , then i am redirecting to home page, but at this juncture the dialog box is not destroyed and IE stops responding. Any clue about the problem, please let me know quickly.
    thanks in anticipation,
    ranajit

    I've just read the follow below. Maybe it might remotely concern your problem.
    http://java.sun.com/j2se/1.4.2/changes.html:
    Bug 4672707 fixed: In 1.4.1, invoking modal popup dialogs from an applet's stop or destroy methods is not recommended. Using modal popup dialogs inside these methods could result in problematic behavior, including NullPointerException, the dialog box not being displayed, the dialog box remaining alive even after the applet was destroyed, or in the worst case, browser hang. This problem has been fixed in 1.4.2.

  • Multiple applets, single JVM == out of memory

    Consider the following applet (MS IE 6, JRE 1.4.2_04)
    public class DgAppletTest extends JApplet
    double nums[];
    public void init() {
    nums = new double[10000000];
    public void start() {
    public void stop() {
    public void destroy() {
    This does nothing except allocate a large array. When this is delivered to the browser as part of an html page, a JVM instance is created and so on. The plug in control panel confirms the memory usage. When the user closes the browser window, the applet is "destroyed" but curiously the memory is not gc'ed. The next time the page is delivered the same JVM is used with the current memory situation. The result is that very soon the memory is exhausted.
    Once upon a time, Microsoft launched each browser instance into a separate process. No longer, although there is a registry hack to make it do so. When as a separate process, each browser window instantiates a new JVM. In this scenario, there's no problem. However, hacking the registry is not a solution, nor is telling the end user to modify JVM startup parameters.
    So, what am I not doing? (calling the gc within the applet has no effect on this). What's the trick to get the JVM to actually destroy the destroyed applet?
    Thanks

    http://forum.java.sun.com/thread.jspa?threadID=605153&messageID=3276004
    Quote from another thread:
    Objects are never null. Only references can be null. If you set the only reachable
    reference to the object to null (or to any value other than pointing at that object), then the
    object becomes eligible to be garbage collected. When--or if--it actually gets cleaned up
    is beyond your control, but it's guaranteed to happen if the memory is needed.
    Which is basacally the same as what this tells you:
    http://java.sun.com/developer/technicalArticles/ALT/RefObj/
    under
    Softly Reachable

  • Jinitiator "Applet Started"

    We have recently upgraded a 3rd party system we use (and have had no problems with previously) which runs on Forms and Jinitiator as shown below:
    Previous Setup: Jinitiator 1.1.8.16 / Oracle Forms 6i / Oracle 9i
    Upgraded Setup: Jinitiator 1.3.1.28 / Oracle Forms 10 / Oracle 10g
    This new upgraded set up works successfully on around 50% of our machines, although the rest of our users receive only a white screen with an "Applet Started" message on the Internet Explorer status bar. The machines that fail to work all appear to be Windows 2000 machines with IE6, although other machines on Windows 2000 with IE6 work fine, so I don't think there is a compatability issue with any software.
    The Jinitiator console log stops at the following message:
    "RegisterWebUtil - Loading WebUtil Version 10.1.2.2"
    I had thought that permissions could be a problem as some machines have limited access rights, but even when logging in as the machine's administrator account I still get the same white screen and status bar message.
    Does anyone have any ideas as to what could be causing these problems?
    thanks, Jonathan

    Console log with trace level set to 5 is attached below, don't know if it'll be of any use!
    thanks, Jonathan
    Unregistered modality listener
    Doing a join...
    Sending events to applet. STOP
    Removed trace listener: sun.plugin.ocx.ActiveXAppletViewer[oracle.forms.webutil.common.RegisterWebUtil,0,0,1x1,invalid,layout=java.awt.BorderLayout]
    Sending events to applet. DESTROY
    Sending events to applet. DISPOSE
    Sending events to applet. QUIT
    Done with join ...
    Finding information...
    Releasing classloader: sun.plugin.ClassLoaderInfo@13385d, refcount=0
    Caching classloader: sun.plugin.ClassLoaderInfo@13385d
    Current classloader cache size: 1
    Done...
    Registered modality listener
    Referencing classloader: sun.plugin.ClassLoaderInfo@13385d, refcount=1
    Added trace listener: sun.plugin.ocx.ActiveXAppletViewer[oracle.forms.webutil.common.RegisterWebUtil,0,0,1x1,invalid,layout=java.awt.BorderLayout]
    Sending events to applet. LOAD
    Sending events to applet. INIT
    Sending events to applet. START
    RegisterWebUtil - Loading WebUtil Version 10.1.2.2
    -----------------------------------------------------------------

Maybe you are looking for

  • Delete one language for Wrok Schedule Text in Table T508S

    Hi Gurus, Have added 3 different languages to be displayed for a particular Work Schedule Text. Now that i want to remove one of the language. What i did is selected the work schedule- clicked on Goto - clicked on translate and selected the languages

  • I burned a DVD using FCP X and it skips.

    Are there good video tutorials that go over how to use FCP with compressor? OR how can I get this to not happen? Thanks!

  • Import into Lookup Hierarchy Multi-Value Field

    My source data contains two fields (Product ID, Product Notes). I need to map the Product Notes into a Hierarchy Lookup Field on main products table.  THe hierarchy table for product notes contains two text fields and both are display fields.  My sou

  • OBI EE 10 1.3.3.O

    I am re installing OBI EE. And when it was installed first we forget the PWD for "OC4Jadmin". Now it is not allwoing to reset. We tried Upgrading directly its not working also. Is there any work around? Please help

  • Exist Clause

    Helllo All, One Order (table oe_order_headers_all ) can have mulitple lines(table oe_order_lines_all) associated with it. Both tables are joined with header_id. Now I need to run a query for a specific date range. suppose i gave both date parameters