Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: mime/WSIFFrame.java


1   /*
2    * The Apache Software License, Version 1.1
3    *
4    *
5    * Copyright (c) 2002 The Apache Software Foundation.  All rights 
6    * reserved.
7    *
8    * Redistribution and use in source and binary forms, with or without
9    * modification, are permitted provided that the following conditions
10   * are met:
11   *
12   * 1. Redistributions of source code must retain the above copyright
13   *    notice, this list of conditions and the following disclaimer. 
14   *
15   * 2. Redistributions in binary form must reproduce the above copyright
16   *    notice, this list of conditions and the following disclaimer in
17   *    the documentation and/or other materials provided with the
18   *    distribution.
19   *
20   * 3. The end-user documentation included with the redistribution,
21   *    if any, must include the following acknowledgment:  
22   *       "This product includes software developed by the
23   *        Apache Software Foundation (http://www.apache.org/)."
24   *    Alternately, this acknowledgment may appear in the software itself,
25   *    if and wherever such third-party acknowledgments normally appear.
26   *
27   * 4. The names "WSIF" and "Apache Software Foundation" must
28   *    not be used to endorse or promote products derived from this
29   *    software without prior written permission. For written 
30   *    permission, please contact apache@apache.org.
31   *
32   * 5. Products derived from this software may not be called "Apache",
33   *    nor may "Apache" appear in their name, without prior written
34   *    permission of the Apache Software Foundation.
35   *
36   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
37   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
38   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
39   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
40   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
42   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
43   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
44   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
45   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
46   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
47   * SUCH DAMAGE.
48   * ====================================================================
49   *
50   * This software consists of voluntary contributions made by many
51   * individuals on behalf of the Apache Software Foundation and was
52   * originally based on software copyright (c) 2001, 2002, International
53   * Business Machines, Inc., http://www.apache.org.  For more
54   * information on the Apache Software Foundation, please see
55   * <http://www.apache.org/>.
56   */
57  package mime;
58  
59  import java.awt.Canvas;
60  import java.awt.Frame;
61  import java.awt.Graphics;
62  import java.awt.Image;
63  
64  public class WSIFFrame extends Frame {
65      private static Frame[] frames = new Frame[2];
66      private static int frameIndex = 0;
67      private Image im = null;
68  
69      public static void display(Image im, String title) throws Exception {
70          Frame f = new WSIFFrame(im,title);
71          frames[frameIndex] = f;
72          frameIndex++;
73          f.add(new WSIFCanvas(im));
74          f.pack();
75          f.setLocation(300*frameIndex,200);
76          f.show();
77      }
78  
79      public WSIFFrame(Image im, String title) {
80          super(title);
81          this.im = im;
82      }
83  
84  
85      public static void close() {
86          for (int i = 0; i < frameIndex; i++) {
87              frames[i].dispose();
88              frames[i] = null;
89          }
90          frameIndex=0;
91      }
92      
93      public void finalize() throws Throwable {
94          for (int i = 0; i < frameIndex; i++) {
95              frames[i].dispose();
96              frames[i] = null;
97          }
98          frameIndex=0;
99      }
100     
101     static class WSIFCanvas extends Canvas {
102         Image im;
103 
104         WSIFCanvas(Image im) {
105             super();
106             this.setSize(200,200);
107             this.im = im;
108         }
109 
110         public void paint(Graphics g) {
111             g.drawImage(im, 0, 0, this);
112         }
113     }
114 }
115