home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161b.iso / handson / archive / Issue159 / files / java / ex2 / GIFletViewer.java < prev    next >
Encoding:
Java Source  |  1999-10-02  |  2.4 KB  |  85 lines

  1. /*
  2.  * @(#)GIFletViewer.java    1999/09/28
  3.  * 
  4.  * Copyright (c) 1999, David Griffiths. All Rights Reserved.
  5.  * 
  6.  * This software is the proprietary information of David Griffiths.
  7.  * This source code may not be published or redistributed without the 
  8.  * express permission of the author. 
  9.  * 
  10.  * THE AUTHOR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY 
  11.  * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  12.  * THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
  13.  * PURPOSE, OR NON-INFRINGEMENT. THE AUTHOR SHALL NOT BE LIABLE FOR ANY DAMAGES
  14.  * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
  15.  * THIS SOFTWARE OR ITS DERIVATIVES.
  16.  */
  17.  
  18. /**
  19.  * GIFletViewer is a wrapper class that is used to display the
  20.  * GIFLake applet.
  21.  * @version    1.0 1999/09/28
  22.  * @author     David Griffiths 
  23.  */
  24.  
  25. import java.util.Hashtable;
  26. import java.io.*;
  27. import java.awt.*;
  28. import java.awt.event.*;
  29.  
  30. public class GIFletViewer {
  31.     public int width, height;
  32.     private Frame frm;
  33.     private Button btnSave;
  34.     private GIFLake gif1;
  35.  
  36.     public static void main (String[] args) {
  37.         GIFletViewer g = new GIFletViewer();
  38.         g.init(args);
  39.     }
  40.  
  41.     private void loadImage() {
  42.         Toolkit t = Toolkit.getDefaultToolkit();
  43.         Image img1 = t.getImage("logo.gif");
  44.         MediaTracker mediaTracker = new MediaTracker(frm);
  45.         mediaTracker.addImage(img1, 1);
  46.         try {
  47.             mediaTracker.waitForID(1);
  48.             frm.setSize(img1.getWidth(frm), btnSave.getSize().height + img1.getHeight(frm) * 18 / 10);
  49.             gif1.setSize(img1.getWidth(frm), img1.getHeight(frm) * 18 / 10);
  50.             btnSave.setSize(img1.getWidth(frm), btnSave.getSize().height);
  51.             gif1.setImage(img1);
  52.             gif1.start();
  53.         }
  54.         catch (InterruptedException e) {
  55.         }
  56.     }
  57.  
  58.     public void init(String[] args) {
  59.         frm = new Frame();
  60.         frm.setLayout(new BorderLayout());
  61.         frm.setSize(100, 600);
  62.         frm.setTitle("Spigots.com GIFletViewer");
  63.         gif1 = new GIFLake();
  64.         frm.add("Center", gif1);
  65.         frm.addWindowListener(new WindowAdapter() {
  66.             public void windowClosing(WindowEvent e) {
  67.                 System.exit(0);
  68.             }
  69.             public void windowOpened(WindowEvent e) {
  70.                 loadImage();
  71.             }
  72.         });
  73.         btnSave = new Button("Capture Animation");
  74.         btnSave.addActionListener(new ActionListener() {
  75.             public void actionPerformed(ActionEvent e) {
  76.                 btnSave.setEnabled(false);
  77.                 gif1.startCapture();
  78.                 btnSave.setEnabled(true);
  79.             }
  80.         });
  81.         frm.add("North", btnSave);
  82.         frm.show();
  83.     }
  84. }
  85.