diff options
Diffstat (limited to 'java/ImageProcessing/framework/Icon.java')
-rw-r--r-- | java/ImageProcessing/framework/Icon.java | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/java/ImageProcessing/framework/Icon.java b/java/ImageProcessing/framework/Icon.java new file mode 100644 index 00000000000..eed91ed55c7 --- /dev/null +++ b/java/ImageProcessing/framework/Icon.java @@ -0,0 +1,70 @@ +package imaging.framework; + +import java.awt.*; +import java.applet.*; +import java.net.*; + +public class Icon +{ + protected Image icon_; + protected Dimension iconSize_; + + Icon() + { + super(); + } + + Icon(String file_name, Component comp) + { + this.icon_ = Toolkit.getDefaultToolkit().getImage(file_name); + this.loadImage(comp); + } + + Icon(Image icon_image, Component comp) + { + this.icon_ = icon_image; + this.loadImage(comp); + } + + Icon(String url, Applet applet) throws MalformedURLException + { + this.icon_ = applet.getImage(new URL(url)); + loadImage(applet); + } + + public void drawIcon(Graphics g, int x, int y, Component comp) + { + g.drawImage(this.icon_, x, y, comp); + } + + private void loadImage(Component comp) + { + try + { + MediaTracker tracker = new MediaTracker(comp); + tracker.addImage(this.icon_, 0); + tracker.waitForID(0); + + this.iconSize_ = new Dimension(this.icon_.getWidth(comp), this.icon_.getHeight(comp)); + } + catch (InterruptedException excp) + { + System.err.println("Icon::getIcon image failed to load"); + } + } + + public Dimension iconSize() + { + return this.iconSize_; + } + + public Image getIconImage() + { + return this.icon_; + } + +} + + + + |