KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lucane > applications > slideshow > gui > ImageComponent


1 package org.lucane.applications.slideshow.gui;
2
3 import java.awt.Dimension JavaDoc;
4 import java.awt.Graphics JavaDoc;
5 import java.awt.Image JavaDoc;
6 import java.io.File JavaDoc;
7 import java.io.IOException JavaDoc;
8
9 import javax.imageio.ImageIO JavaDoc;
10 import javax.swing.*;
11
12 public class ImageComponent extends JComponent
13 {
14     private Image JavaDoc original;
15     private Image JavaDoc scaled;
16     
17     public void setImage(File JavaDoc file)
18     throws IOException JavaDoc
19     {
20         Image JavaDoc img = ImageIO.read(file);
21         setImage(img);
22     }
23     
24     public void setImage(Image JavaDoc image)
25     {
26         setImage(image, false);
27     }
28         
29     public void setImage(Image JavaDoc image, boolean scale)
30     {
31         this.original = image;
32         if(scale)
33             this.scaled = image.getScaledInstance(getWidth(), -1, Image.SCALE_FAST);
34         else
35             this.scaled = image;
36         
37         setPreferredSize(new Dimension JavaDoc(scaled.getWidth(null), scaled.getHeight(null)));
38     }
39     
40     public Image JavaDoc getImage()
41     {
42         return scaled;
43     }
44     
45     public void paint(Graphics JavaDoc g)
46     {
47         super.paint(g);
48         if(this.scaled != null)
49             g.drawImage(scaled, 0, 0, this);
50     }
51 }
Popular Tags