]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_2_1-src/src/com/ibm/icu/dev/demo/impl/DemoApplet.java
icu4jsrc
[Dictionary.git] / jars / icu4j-4_2_1-src / src / com / ibm / icu / dev / demo / impl / DemoApplet.java
1 /*\r
2  *******************************************************************************\r
3  * Copyright (C) 1997-2008, International Business Machines Corporation and    *\r
4  * others. All Rights Reserved.                                                *\r
5  *******************************************************************************\r
6  */\r
7 \r
8 package com.ibm.icu.dev.demo.impl;\r
9 \r
10 import java.awt.*;\r
11 import java.awt.event.*;\r
12 \r
13 public abstract class DemoApplet extends java.applet.Applet {\r
14     private static final long serialVersionUID = -8983602961925702071L;\r
15     private Button   demoButton;\r
16     private Frame    demoFrame;\r
17     private static int demoFrameCount = 0;\r
18 \r
19     protected abstract Frame createDemoFrame(DemoApplet applet);\r
20     protected Dimension getDefaultFrameSize(DemoApplet applet, Frame f) {\r
21         return new Dimension(700, 550);\r
22     }\r
23 \r
24     //Create a button that will display the demo\r
25     public void init()\r
26     {\r
27         setBackground(Color.white);\r
28         demoButton = new Button("Demo");\r
29         demoButton.setBackground(Color.yellow);\r
30         add( demoButton );\r
31 \r
32         demoButton.addActionListener( new ActionListener() {\r
33              public void actionPerformed(ActionEvent e) {\r
34                 if (e.getID() == ActionEvent.ACTION_PERFORMED) {\r
35                     demoButton.setLabel("loading");\r
36 \r
37                     if (demoFrame == null) {\r
38                        demoFrame = createDemoFrame(DemoApplet.this);\r
39                        showDemo();\r
40                     }\r
41 \r
42                     demoButton.setLabel("Demo");\r
43                 }\r
44              }\r
45         } );\r
46     }\r
47 \r
48     public void showDemo()\r
49     {\r
50         demoFrame = createDemoFrame(this);\r
51         demoFrame.doLayout();\r
52         Dimension d = getDefaultFrameSize(this, demoFrame);\r
53         demoFrame.setSize(d.width, d.height);\r
54         demoFrame.show();\r
55         demoFrameOpened();\r
56     }\r
57 \r
58     public void demoClosed()\r
59     {\r
60         demoFrame = null;\r
61         demoFrameClosed();\r
62     }\r
63 \r
64     public static void demoFrameOpened() {\r
65         demoFrameCount++;\r
66         System.err.println("DemoFrameOpened, now at:"+demoFrameCount);\r
67     }\r
68     public static void demoFrameClosed() {\r
69         if (--demoFrameCount == 0) {\r
70             System.err.println("DemoFrameClosed, now at:"+demoFrameCount + " - quitting");\r
71             System.exit(0);\r
72         }\r
73         System.err.println("DemoFrameClosed, now at:"+demoFrameCount);\r
74     }\r
75 }\r
76 \r