]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_4_2-src/demos/src/com/ibm/icu/dev/demo/impl/DemoApplet.java
go
[Dictionary.git] / jars / icu4j-4_4_2-src / demos / src / com / ibm / icu / dev / demo / impl / DemoApplet.java
1 /*\r
2  *******************************************************************************\r
3  * Copyright (C) 1997-2010, 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.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
16 \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
22 \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
26     }\r
27 \r
28     //Create a button that will display the demo\r
29     public void init()\r
30     {\r
31         setBackground(Color.white);\r
32         demoButton = new Button("Demo");\r
33         demoButton.setBackground(Color.yellow);\r
34         add( demoButton );\r
35 \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
40 \r
41                     if (demoFrame == null) {\r
42                        demoFrame = createDemoFrame(DemoApplet.this);\r
43                        showDemo();\r
44                     }\r
45 \r
46                     demoButton.setLabel("Demo");\r
47                 }\r
48              }\r
49         } );\r
50     }\r
51 \r
52     public void showDemo()\r
53     {\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
58         demoFrame.show();\r
59         demoFrameOpened();\r
60     }\r
61 \r
62     public void demoClosed()\r
63     {\r
64         demoFrame = null;\r
65         demoFrameClosed();\r
66     }\r
67 \r
68     public static void demoFrameOpened() {\r
69         demoFrameCount++;\r
70         System.err.println("DemoFrameOpened, now at:"+demoFrameCount);\r
71     }\r
72     public static void demoFrameClosed() {\r
73         if (--demoFrameCount == 0) {\r
74             System.err.println("DemoFrameClosed, now at:"+demoFrameCount + " - quitting");\r
75             System.exit(0);\r
76         }\r
77         System.err.println("DemoFrameClosed, now at:"+demoFrameCount);\r
78     }\r
79 }\r
80 \r