summaryrefslogtreecommitdiff
path: root/java/ImageProcessing/framework/Icon.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/ImageProcessing/framework/Icon.java')
-rw-r--r--java/ImageProcessing/framework/Icon.java70
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_;
+ }
+
+}
+
+
+
+