/* * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved. * * Permission to use, copy, modify, and distribute this software * and its documentation for NON-COMMERCIAL purposes and without * fee is hereby granted provided that this copyright notice * appears in all copies. Please refer to the file "copyright.html" * for further important copyright and licensing information. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. */ import java.awt.*; public class CardWindow extends Frame { private boolean inAnApplet = true; Panel cards; final static String BUTTONPANEL = "Panel with Buttons"; final static String TEXTPANEL = "Panel with TextField"; public CardWindow() { setLayout(new BorderLayout()); setFont(new Font("Helvetica", Font.PLAIN, 14)); //Put the Choice in a Panel to get a nicer look. Panel cp = new Panel(); Choice c = new Choice(); c.addItem(BUTTONPANEL); c.addItem(TEXTPANEL); cp.add(c); add("North", cp); cards = new Panel(); cards.setLayout(new CardLayout()); Panel p1 = new Panel(); p1.add(new Button("Button 1")); p1.add(new Button("Button 2")); p1.add(new Button("Button 3")); Panel p2 = new Panel(); p2.add(new TextField("TextField", 20)); cards.add(BUTTONPANEL, p1); cards.add(TEXTPANEL, p2); add("Center", cards); } public boolean action(Event evt, Object arg) { if (evt.target instanceof Choice) { ((CardLayout)cards.getLayout()).show(cards,(String)arg); return true; } return false; } public synchronized boolean handleEvent(Event e) { if (e.id == Event.WINDOW_ICONIFY) {//DOESN'T seem to be necessary hide(); return true; } if (e.id == Event.WINDOW_DESTROY) { if (inAnApplet) { dispose(); return true; } else { System.exit(0); } } return super.handleEvent(e); } public static void main(String args[]) { CardWindow window = new CardWindow(); window.inAnApplet = false; window.setTitle("CardWindow Application"); window.pack(); window.show(); } }