From: Miguel <mig...@us...> - 2004-12-22 04:20:31
|
Update of /cvsroot/jmol/Jmol/src/org/jmol/appletwrapper In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8286/src/org/jmol/appletwrapper Modified Files: AppletWrapper.java Log Message: added support for image Index: AppletWrapper.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/jmol/appletwrapper/AppletWrapper.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- AppletWrapper.java 22 Dec 2004 00:57:39 -0000 1.2 +++ AppletWrapper.java 22 Dec 2004 04:20:20 -0000 1.3 @@ -29,6 +29,7 @@ import java.applet.*; import java.awt.*; +import java.net.URL; public class AppletWrapper extends Applet { @@ -39,15 +40,25 @@ int preloadClassIndex; String previousClassName; + boolean needToLoadImage; + String preloadImageName; + Image preloadImage; + boolean preloadImageReadyForDisplay; + MediaTracker mediaTracker; + WrappedApplet wrappedApplet; int percentage; long startTime; public AppletWrapper(String wrappedAppletClassName, - int preloadThreadCount, String[] preloadClassNames) { + int preloadThreadCount, + String[] preloadClassNames, + String preloadImageName) { this.wrappedAppletClassName = wrappedAppletClassName; this.preloadThreadCount = preloadThreadCount; this.preloadClassNames = preloadClassNames; + this.preloadImageName = preloadImageName; + needToLoadImage = preloadImageName != null; } public String getAppletInfo() { @@ -66,6 +77,25 @@ wrappedApplet.update(g); return; } + if (needToLoadImage) { + needToLoadImage = false; + try { + System.out.println("loadImage:" + preloadImageName); + URL urlImage = + getClass().getClassLoader().getResource(preloadImageName); + System.out.println("urlImage=" + urlImage); + if (urlImage != null) { + preloadImage = + Toolkit.getDefaultToolkit().getImage(urlImage); + System.out.println("successfully loaded " + preloadImageName); + System.out.println("preloadImage=" + preloadImage); + mediaTracker = new MediaTracker(this); + mediaTracker.addImage(preloadImage, 0); + } + } catch (Exception e) { + System.out.println("getImage failed: " + e); + } + } g.setColor(Color.yellow); g.fillRect(0, 0, 1000, 1000); @@ -73,11 +103,15 @@ g.setColor(Color.black); g.drawString("applet wrapper test", 15, 20); - + long elapsedTime = (System.currentTimeMillis() - startTime) / 1000; g.drawString("" + elapsedTime + " seconds", 15, 40); + if (preloadImageReadyForDisplay) + g.drawImage(preloadImage, 15, 50, null); + else if (mediaTracker != null) + preloadImageReadyForDisplay = mediaTracker.checkID(0); } public void paint(Graphics g) { |