KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > memoire > vainstall > gui > VAImagePanel


1 /**
2  * $RCSfile: VAImagePanel.java,v $
3  * @creation 01/02/00
4  * @modification $Date: 2001/03/30 21:25:38 $
5  */

6
7 package com.memoire.vainstall.gui;
8
9 import com.memoire.vainstall.VAGlobals;
10 import java.awt.*;
11 import java.io.*;
12 import javax.swing.*;
13 import javax.swing.border.*;
14
15 /**
16  * @version $Id: VAImagePanel.java,v 1.1.1.1 2001/03/30 21:25:38 vonarnim Exp $
17  * @author Axel von Arnim
18  */

19
20 public class VAImagePanel
21        extends JLabel
22 {
23   public static final VAImagePanel IMAGE_PANEL=new VAImagePanel();
24
25   public VAImagePanel()
26   {
27     super();
28     
29     Dimension d=new Dimension(200, 400);
30     setBackground(Color.white);
31     setBorder(new BevelBorder(BevelBorder.LOWERED));
32     InputStream imgStream=VAGlobals.BASE_CLASS.getResourceAsStream("/"+VAGlobals.IMAGE);
33     if( imgStream==null ) {
34       setPreferredSize(d);
35     } else {
36       ByteArrayOutputStream dataStream=new ByteArrayOutputStream();
37       try {
38         byte[] buf=new byte[1024];
39         int read=imgStream.read(buf, 0, buf.length);
40         while( read>0 ) {
41           dataStream.write(buf, 0, read);
42           read=imgStream.read(buf, 0, buf.length);
43         }
44         imgStream.close();
45         ImageIcon image=new ImageIcon(dataStream.toByteArray());
46         dataStream.close();
47         Insets i=getInsets();
48         image.setImage(image.getImage().getScaledInstance(
49           d.width-i.left-i.right, d.height-i.top-i.bottom, Image.SCALE_SMOOTH));
50         setIcon(image);
51         setPreferredSize(d);
52         setMaximumSize(d);
53       } catch( IOException ex ) {
54         setPreferredSize(d);
55       }
56     }
57   }
58 }
59
Popular Tags