Sunday, 9 July 2017

URL Redirector Assignment in java ~ foundjava

URL Redirector

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

public class Redir extends Applet implements Runnable {
protected String urlString;
protected URL theNewURL;
protected final static int NSECONDS = 5;
protected Thread t;

public void init() {
try {
// Get the address from a PARAM...
urlString = getParameter("URL");
if (urlString == null)  {
urlString = "MISSING URL";
throw new IllegalArgumentException(
"Redir requires a URL parameter in the HTML");
}

// Make up the URL object
theNewURL = new URL(urlString);

// debug...
// showStatus("URL = " + theNewURL);

} catch (Exception err) {
System.err.println("Error!\n" + err);
showStatus("Error, look in Java Console for details!");
}
}

public void start() {
if (theNewURL == null)
return;

t = new Thread(this);
t.start();
}

/** Print a little message to the user. */
public void paint(Graphics g) {
if (urlString != null)
g.drawString(urlString, 20, 50);
else
g.drawString("Initializing...", 20, 50);
}

/** If users moves off the page, set Thread t to null so
* we don't showDocument from within the middle of the new page!
*/
public void stop() {
t = null;
}

/** run, called by the Thread, does the work of sleeping
* for a fixed number of seconds then, if the user hasn't
* moved off the page, actually passing control to the new page.
*/
public void run() {
for (int i=NSECONDS; i>=0; i--) {
try {
Thread.sleep(1000);
if (t == null)
return;
} catch (InterruptedException e) {
// so what?
}
if (t == null)
return;
showStatus(Integer.toString(i));

if (t == null)
return;

showStatus("Ignition!");
// "And then a miracle occurs..."
getAppletContext().showDocument(theNewURL);
}
}
}
/*
<APPLET CODE=Redir.class WIDTH=300 HEIGHT=100 ">
</APPLET>
*/

No comments:

Post a Comment