/* ******************************************************************************* * Copyright (C) 2007, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* */ package com.ibm.icu.dev.demo; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import com.ibm.icu.dev.demo.impl.DemoApplet; import com.ibm.icu.dev.demo.impl.DemoUtility; import com.ibm.icu.util.VersionInfo; /** * @author srl * Application to provide a panel of demos to launch */ public class Launcher extends DemoApplet { private static final long serialVersionUID = -8054963875776183877L; /** * base package of all demos */ public static final String demoBase = "com.ibm.icu.dev.demo"; /** * list of classes, relative to the demoBase. all must have a static void main(String[]) */ public static final String demoList[] = { "calendar.CalendarApp", "charsetdet.DetectingViewer", "holiday.HolidayCalendarDemo", // "number.CurrencyDemo", -- console // "rbbi.DBBIDemo", // "rbbi.RBBIDemo", // "rbbi.TextBoundDemo", "rbnf.RbnfDemo", // "timescale.PivotDemo", -- console "translit.Demo", }; public class LauncherFrame extends Frame implements ActionListener { private static final long serialVersionUID = -8054963875776183878L; public Button buttonList[] = new Button[demoList.length]; // one button for each demo public Label statusLabel; private DemoApplet applet; LauncherFrame(DemoApplet applet) { init(); this.applet = applet; } public void init() { // close down when close is clicked. // TODO: this should be factored.. addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { setVisible(false); dispose(); if (applet != null) { applet.demoClosed(); } else System.exit(0); } } ); setBackground(DemoUtility.bgColor); setLayout(new BorderLayout()); Panel topPanel = new Panel(); topPanel.setLayout(new GridLayout(5,3)); for(int i=0;i