1 package org.columba.core.gui.base; 19 20 import java.awt.Image ; 21 import java.awt.MediaTracker ; 22 import java.awt.Toolkit ; 23 import java.awt.image.FilteredImageSource ; 24 import java.awt.image.ImageFilter ; 25 import java.awt.image.ImageProducer ; 26 27 import javax.swing.ImageIcon ; 28 import javax.swing.JPanel ; 29 30 31 public class ImageUtil { 32 33 public static ImageIcon createTransparentIcon(ImageIcon icon) { 34 return createTransparentIcon(icon, 20); 35 } 36 37 38 public static ImageIcon createTransparentIcon(ImageIcon icon, int percentage) { 39 return createIcon(icon, new TransparentFilter(percentage)); 40 } 41 42 43 private static synchronized ImageIcon createIcon(ImageIcon icon, 44 ImageFilter filter) { 45 ImageProducer ip; 46 Image image; 47 MediaTracker tracker; 48 49 ip = new FilteredImageSource (icon.getImage().getSource(), filter); 50 image = Toolkit.getDefaultToolkit().createImage(ip); 51 52 tracker = new MediaTracker (new JPanel ()); 53 tracker.addImage(image, 1); 54 55 try { 56 tracker.waitForID(1); 57 } catch (InterruptedException e) { 58 e.printStackTrace(); 59 60 return null; 61 } 62 63 return new ImageIcon (image); 64 } 65 } 66 | Popular Tags |