12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others.
22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License
3bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert/*
4bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert *******************************************************************************
5bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * Copyright (C) 1996-2010, International Business Machines Corporation and    *
6bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * others. All Rights Reserved.                                                *
7bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert *******************************************************************************
8bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */
9bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertpackage com.ibm.icu.dev.demo.translit;
10bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport java.applet.Applet;
11bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport java.awt.Button;
12bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport java.awt.Dimension;
13bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport java.awt.event.ActionEvent;
14bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport java.awt.event.ActionListener;
15bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport java.awt.event.WindowAdapter;
16bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport java.awt.event.WindowEvent;
17bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
18bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport com.ibm.icu.dev.demo.impl.AppletFrame;
19bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
20bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert/**
21bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * A simple Applet that shows a button.  When pressed, the button
22bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * shows the DemoAppletFrame.  This Applet is meant to be embedded
23bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * in a web page.
24bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert *
25bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * <p>Copyright (c) IBM Corporation 1999.  All rights reserved.
26bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert *
27bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * @author Alan Liu
28bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */
29bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertpublic class DemoApplet extends Applet {
30bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
31bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    /**
32bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert     * For serialization
33bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert     */
34bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    private static final long serialVersionUID = 8214879807740061678L;
35bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    Demo frame = null;
36bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
37bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    public static void main(String args[]) {
38bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        final DemoApplet applet = new DemoApplet();
39bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        new AppletFrame("Transliteration Demo", applet, 640, 480);
40bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    }
41bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
42bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    public void init() {
43bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
44bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        Button button = new Button("Transliteration Demo");
45bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        button.addActionListener(new ActionListener() {
46bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert            public void actionPerformed(ActionEvent e) {
47bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                if (frame == null) {
48bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                    frame = new Demo(600, 200);
49bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                    frame.addWindowListener(new WindowAdapter() {
50bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                        public void windowClosing(WindowEvent we) {
51bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                            frame = null;
52bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                        }
53bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                    });
54bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                }
55bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                frame.setVisible(true);
56bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert                frame.toFront();
57bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert            }
58bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        });
59bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
60bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        add(button);
61bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
62bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        Dimension size = button.getPreferredSize();
63bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        size.width += 10;
64bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        size.height += 10;
65bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
66bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        resize(size);
67bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    }
68bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert
69bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    public void stop() {
70bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        if (frame != null) {
71bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert            frame.dispose();
72bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        }
73bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert        frame = null;
74bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert    }
75bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert}
76