src/share/classes/sun/awt/SunToolkit.java
Print this page
*** 709,834 ****
*/
public static boolean getSunAwtErasebackgroundonresize() {
return AccessController.doPrivileged(new GetBooleanAction("sun.awt.erasebackgroundonresize"));
}
!
! static final SoftCache imgCache = new SoftCache();
!
! static Image getImageFromHash(Toolkit tk, URL url) {
! SecurityManager sm = System.getSecurityManager();
! if (sm != null) {
! try {
! java.security.Permission perm =
! url.openConnection().getPermission();
! if (perm != null) {
! try {
! sm.checkPermission(perm);
! } catch (SecurityException se) {
! // fallback to checkRead/checkConnect for pre 1.2
! // security managers
! if ((perm instanceof java.io.FilePermission) &&
! perm.getActions().indexOf("read") != -1) {
! sm.checkRead(perm.getName());
! } else if ((perm instanceof
! java.net.SocketPermission) &&
! perm.getActions().indexOf("connect") != -1) {
! sm.checkConnect(url.getHost(), url.getPort());
! } else {
! throw se;
! }
! }
! }
! } catch (java.io.IOException ioe) {
! sm.checkConnect(url.getHost(), url.getPort());
! }
! }
! synchronized (imgCache) {
! Image img = (Image)imgCache.get(url);
! if (img == null) {
! try {
! img = tk.createImage(new URLImageSource(url));
! imgCache.put(url, img);
! } catch (Exception e) {
! }
! }
! return img;
! }
! }
!
! static Image getImageFromHash(Toolkit tk,
! String filename) {
! SecurityManager security = System.getSecurityManager();
! if (security != null) {
! security.checkRead(filename);
! }
! synchronized (imgCache) {
! Image img = (Image)imgCache.get(filename);
! if (img == null) {
! try {
! img = tk.createImage(new FileImageSource(filename));
! imgCache.put(filename, img);
! } catch (Exception e) {
! }
! }
! return img;
! }
! }
!
public Image getImage(String filename) {
! return getImageFromHash(this, filename);
}
public Image getImage(URL url) {
! return getImageFromHash(this, url);
}
public Image createImage(String filename) {
! SecurityManager security = System.getSecurityManager();
! if (security != null) {
! security.checkRead(filename);
! }
! return createImage(new FileImageSource(filename));
}
public Image createImage(URL url) {
! SecurityManager sm = System.getSecurityManager();
! if (sm != null) {
! try {
! java.security.Permission perm =
! url.openConnection().getPermission();
! if (perm != null) {
! try {
! sm.checkPermission(perm);
! } catch (SecurityException se) {
! // fallback to checkRead/checkConnect for pre 1.2
! // security managers
! if ((perm instanceof java.io.FilePermission) &&
! perm.getActions().indexOf("read") != -1) {
! sm.checkRead(perm.getName());
! } else if ((perm instanceof
! java.net.SocketPermission) &&
! perm.getActions().indexOf("connect") != -1) {
! sm.checkConnect(url.getHost(), url.getPort());
! } else {
! throw se;
! }
! }
! }
! } catch (java.io.IOException ioe) {
! sm.checkConnect(url.getHost(), url.getPort());
! }
! }
! return createImage(new URLImageSource(url));
}
public Image createImage(byte[] data, int offset, int length) {
! return createImage(new ByteArrayImageSource(data, offset, length));
}
public Image createImage(ImageProducer producer) {
! return new ToolkitImage(producer);
}
public int checkImage(Image img, int w, int h, ImageObserver o) {
if (!(img instanceof ToolkitImage)) {
return ImageObserver.ALLBITS;
--- 709,747 ----
*/
public static boolean getSunAwtErasebackgroundonresize() {
return AccessController.doPrivileged(new GetBooleanAction("sun.awt.erasebackgroundonresize"));
}
! @Override
public Image getImage(String filename) {
! return ToolkitImageUtil.getImage(this, filename);
}
+ @Override
public Image getImage(URL url) {
! return ToolkitImageUtil.getImage(this, url);
}
+ @Override
public Image createImage(String filename) {
! return ToolkitImageUtil.createImage(filename);
}
+ @Override
public Image createImage(URL url) {
! return ToolkitImageUtil.createImage(url);
}
+ @Override
public Image createImage(byte[] data, int offset, int length) {
! return ToolkitImageUtil.createImage(
! new ByteArrayImageSource(data, offset, length));
}
+ @Override
public Image createImage(ImageProducer producer) {
! return ToolkitImageUtil.createImage(producer);
}
public int checkImage(Image img, int w, int h, ImageObserver o) {
if (!(img instanceof ToolkitImage)) {
return ImageObserver.ALLBITS;