JAL-1807
[jalview.git] / site / swingjs / j2s / swingjs / test / LoadImage.js
diff --git a/site/swingjs/j2s/swingjs/test/LoadImage.js b/site/swingjs/j2s/swingjs/test/LoadImage.js
new file mode 100644 (file)
index 0000000..96ed9eb
--- /dev/null
@@ -0,0 +1,34 @@
+Clazz.declarePackage ("swingjs.test");
+Clazz.load (["javax.swing.JApplet"], "swingjs.test.LoadImage", ["java.net.URL", "javax.imageio.ImageIO"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.img = null;
+Clazz.instantialize (this, arguments);
+}, swingjs.test, "LoadImage", javax.swing.JApplet);
+Clazz.overrideMethod (c$, "init", 
+function () {
+try {
+var url = this.pathTo ("examples/strawberry.jpg");
+System.out.println ("image loading from " + url);
+this.img = javax.imageio.ImageIO.read (url);
+} catch (e) {
+if (Clazz.exceptionOf (e, java.io.IOException)) {
+System.out.println (e);
+} else {
+throw e;
+}
+}
+});
+Clazz.defineMethod (c$, "pathTo", 
+ function (file) {
+var path = this.getDocumentBase ().toString ();
+var pt = path.indexOf ("/bin/");
+if (pt > 0) path = path.substring (0, pt) + "/html/" + path.substring (pt + 5);
+path = path.substring (0, path.lastIndexOf ("/") + 1) + file;
+if (path.startsWith ("/")) path = "file://" + path;
+return  new java.net.URL (path);
+}, "~S");
+Clazz.overrideMethod (c$, "paint", 
+function (g) {
+g.drawImage (this.img, 50, 50, null);
+}, "java.awt.Graphics");
+});