Mega Code Archive

 
Categories / Java / Swing JFC
 

Show Document

/* From http://java.sun.com/docs/books/tutorial/index.html */ /*  * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.  *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions are met:  *  * -Redistribution of source code must retain the above copyright notice, this  *  list of conditions and the following disclaimer.  *  * -Redistribution in binary form must reproduce the above copyright notice,  *  this list of conditions and the following disclaimer in the documentation  *  and/or other materials provided with the distribution.  *  * Neither the name of Sun Microsystems, Inc. or the names of contributors may  * be used to endorse or promote products derived from this software without  * specific prior written permission.  *  * This software is provided "AS IS," without a warranty of any kind. ALL  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING  * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE  * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN")  * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE  * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS  * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST  * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY  * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  *  * You acknowledge that this software is not designed, licensed or intended  * for use in the design, construction, operation or maintenance of any  * nuclear facility.  */ /*  * 1.1 version.  */ import java.applet.Applet; import java.applet.AppletContext; import java.awt.Button; import java.awt.Choice; import java.awt.Frame; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.Label; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.net.MalformedURLException; import java.net.URL; public class ShowDocument extends Applet implements ActionListener {   URLWindow urlWindow;   public void init() {     Button button = new Button("Bring up URL window");     button.addActionListener(this);     add(button);     urlWindow = new URLWindow(getAppletContext());     urlWindow.pack();   }   public void destroy() {     urlWindow.setVisible(false);     urlWindow = null;   }   public void actionPerformed(ActionEvent event) {     urlWindow.setVisible(true);   } } class URLWindow extends Frame implements ActionListener {   TextField urlField;   Choice choice;   AppletContext appletContext;   public URLWindow(AppletContext appletContext) {     super("Show a Document!");     this.appletContext = appletContext;     GridBagLayout gridBag = new GridBagLayout();     GridBagConstraints c = new GridBagConstraints();     setLayout(gridBag);     Label label1 = new Label("URL of document to show:", Label.RIGHT);     gridBag.setConstraints(label1, c);     add(label1);     urlField = new TextField("http://java.sun.com/", 40);     urlField.addActionListener(this);     c.gridwidth = GridBagConstraints.REMAINDER;     c.fill = GridBagConstraints.HORIZONTAL;     c.weightx = 1.0;     gridBag.setConstraints(urlField, c);     add(urlField);     Label label2 = new Label("Window/frame to show it in:", Label.RIGHT);     c.gridwidth = 1;     c.weightx = 0.0;     gridBag.setConstraints(label2, c);     add(label2);     choice = new Choice();     choice.addItem("(browser's choice)"); //don't specify     choice.addItem("My Personal Window"); //a window named     //"My Personal Window"     choice.addItem("_blank"); //a new, unnamed window     choice.addItem("_self");     choice.addItem("_parent");     choice.addItem("_top"); //the Frame that contained this     //applet     c.fill = GridBagConstraints.NONE;     c.gridwidth = GridBagConstraints.REMAINDER;     c.anchor = GridBagConstraints.WEST;     gridBag.setConstraints(choice, c);     add(choice);     Button button = new Button("Show document");     button.addActionListener(this);     c.weighty = 1.0;     c.ipadx = 10;     c.ipady = 10;     c.insets = new Insets(5, 0, 0, 0);     c.anchor = GridBagConstraints.SOUTH;     gridBag.setConstraints(button, c);     add(button);     addWindowListener(new WindowAdapter() {       public void windowClosing(WindowEvent event) {         setVisible(false);       }     });   }   public void actionPerformed(ActionEvent event) {     String urlString = urlField.getText();     URL url = null;     try {       url = new URL(urlString);     } catch (MalformedURLException e) {       System.err.println("Malformed URL: " + urlString);     }     if (url != null) {       if (choice.getSelectedIndex() == 0) {         appletContext.showDocument(url);       } else {         appletContext.showDocument(url, choice.getSelectedItem());       }     }   } } //<applet code="ShowDocument.class" width=200 height=30> //</applet>