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