Goto to a new URL from an Applet (this howto is deprecated)Tag(s): DEPRECATED


You have to use
getAppletContext().showDocument
     (new URL("http://www.whatever.com"));
or
getAppletContext().showDocument
   (new URL("http://www.whatever.com"),"HTML FRAME ID");
If "HTML frame ID" do not exists then a new browser window will be opened. The following "HTML frame ID" have special meanings :
"_self"    current frame
"_parent"  parent frame
"_top"     base frame
"_blank"   new window

For example, we want to display lowres.html page if resolution is 640x480 else the hires.html is used.

import java.applet.*;
import java.awt.*;
import java.net.*;

public class whatres extends Applet {
  public void init() {
    Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
    if (dim.width==640 && dim.height==480) {
       try {
         getAppletContext().showDocument
           (new URL(getCodeBase()+"lowres.html"),"_top");
       }
       catch (Exception ex) {}
    }
    else {
       try {
         getAppletContext().showDocument
           (new URL(getCodeBase()+"hires.html"),"_top");
       }
       catch (Exception ex) {}
    }
  }
}
NOTE: The previous example works only so long as the document was retrieved without specifying an actual document name, since getDocumentBase() returns the full URL including the name of the document. If the document name was specified, you should try something like this or specify the complete URL (thanks to Rob Judd): :

try {
    String docString = getDocumentBase().toString();
    if (docString.endsWith("/")) {
      getAppletContext().showDocument
        (new URL(getDocumentBase()+"lowres.html"), "_top");
    }
    else {
      getAppletContext().showDocument
        (new URL(getDocumentBase()+"/../lowres.html"), "_top");
    }
}
catch (Exception e) {}

Another example, type a new URL in a textfield, and press a button to go to that page.

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;

public class GotoURLButton extends Applet implements
    ActionListener {
  Button b;
  TextField t;

  public void init() {
     t = new TextField(20);
     t.setText("http://www.google.com");
     add(t);
     b = new Button("Go to this URL");
     add(b);
     b.addActionListener(this);
  }

  public void actionPerformed(ActionEvent ae) {
     if (ae.getSource() == b) {
       try {
         getAppletContext().showDocument(new URL(t.getText()));
       }
       catch (Exception e) {
         e.printStackTrace();
       }
     }
  }
}
Try it here.
blog comments powered by Disqus