/* Copyright (C) 2002 J. M. Spivey */ import java.applet.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; /** Common class for demo applets. * * Displays a launch button on the web page, and * creates a separate applet window when it is pressed. */ public class DemoApplet extends JApplet { private String name; private DemoFrame frame = null; /** Create or redisplay a frame in response to a button press */ private void createFrame() { if (frame != null) frame.toFront(); else { try { Class appClass = Class.forName(name); frame = (DemoFrame) appClass.newInstance(); frame.initApplet(this); frame.addWindowListener(new WindowAdapter() { public void WindowOpened(WindowEvent e) { frame.toFront(); } }); frame.setVisible(true); } catch (Exception e) { System.out.println(e); } } } public DemoFrame getFrame() { if (frame == null) createFrame(); return frame; } public void forgetFrame() { frame = null; } public void init() { Color bg = new Color(0xcc, 0xcc, 0xee); setLayout(new BorderLayout()); name = getParameter("name"); JButton launch = new JButton("Launch " + name); launch.setFont(new Font("Sans", Font.BOLD, 12)); launch.setBackground(bg); launch.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { createFrame(); } }); add(launch, "Center"); } public void stop() { if (frame != null) frame.die(); } }