import java.awt.*; import java.net.*; import java.awt.event.*; import java.applet.*; import java.util.*; import java.io.*; public class AppletFrame extends Frame implements AppletStub, AppletContext, WindowListener { AppletFrame(Applet a) { setTitle(a.getClass().getName()); add("Center", a); a.setStub(this); a.init(); a.start(); setSize(((Rink)a).wide, ((Rink)a).tall); // note the casting show(); this.addWindowListener(this); } // AppletStub methods public boolean isActive() { return true; } public URL getDocumentBase() { return null; } public URL getCodeBase() { return null; } public String getParameter(String name) { if (name.equals("columns")) return "10"; else if (name.equals("rows")) return "10"; else if (name.equals("penguin")) return "no"; // could be yes else if (name.equals("pengo_x")) return "1"; // don't matter... else if (name.equals("pengo_y")) return "7"; else return ""; } public AppletContext getAppletContext() { return this; } public void appletResize(int width, int height) { } // AppletContext methods public AudioClip getAudioClip(URL url) { return null; } public Image getImage(URL url) { return null; } public Applet getApplet(String name) { return null; } public Enumeration getApplets() { return null; } public void showDocument(URL url) { } public void showDocument(URL url, String target) { } public void showStatus(String status) { } public void setStream(String key, InputStream stream) throws IOException { } public InputStream getStream(String key) { return null; } public Iterator getStreamKeys() { return null; } // WindowListener methods public void windowActivated(WindowEvent e) { } public void windowClosed(WindowEvent e) { } public void windowClosing(WindowEvent e) { System.exit(0); } public void windowDeactivated(WindowEvent e) { } public void windowDeiconified(WindowEvent e) { } public void windowIconified(WindowEvent e) { } public void windowOpened(WindowEvent e) { } }