2 *******************************************************************************
\r
3 * Copyright (C) 1997-2010, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 *******************************************************************************
\r
8 package com.ibm.icu.dev.demo.impl;
\r
10 import java.awt.Button;
\r
11 import java.awt.Color;
\r
12 import java.awt.Dimension;
\r
13 import java.awt.Frame;
\r
14 import java.awt.event.ActionEvent;
\r
15 import java.awt.event.ActionListener;
\r
17 public abstract class DemoApplet extends java.applet.Applet {
\r
18 private static final long serialVersionUID = -8983602961925702071L;
\r
19 private Button demoButton;
\r
20 private Frame demoFrame;
\r
21 private static int demoFrameCount = 0;
\r
23 protected abstract Frame createDemoFrame(DemoApplet applet);
\r
24 protected Dimension getDefaultFrameSize(DemoApplet applet, Frame f) {
\r
25 return new Dimension(700, 550);
\r
28 //Create a button that will display the demo
\r
31 setBackground(Color.white);
\r
32 demoButton = new Button("Demo");
\r
33 demoButton.setBackground(Color.yellow);
\r
36 demoButton.addActionListener( new ActionListener() {
\r
37 public void actionPerformed(ActionEvent e) {
\r
38 if (e.getID() == ActionEvent.ACTION_PERFORMED) {
\r
39 demoButton.setLabel("loading");
\r
41 if (demoFrame == null) {
\r
42 demoFrame = createDemoFrame(DemoApplet.this);
\r
46 demoButton.setLabel("Demo");
\r
52 public void showDemo()
\r
54 demoFrame = createDemoFrame(this);
\r
55 demoFrame.doLayout();
\r
56 Dimension d = getDefaultFrameSize(this, demoFrame);
\r
57 demoFrame.setSize(d.width, d.height);
\r
62 public void demoClosed()
\r
68 public static void demoFrameOpened() {
\r
70 System.err.println("DemoFrameOpened, now at:"+demoFrameCount);
\r
72 public static void demoFrameClosed() {
\r
73 if (--demoFrameCount == 0) {
\r
74 System.err.println("DemoFrameClosed, now at:"+demoFrameCount + " - quitting");
\r
77 System.err.println("DemoFrameClosed, now at:"+demoFrameCount);
\r