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