src/share/classes/sun/awt/SunToolkit.java
Print this page
@@ -709,126 +709,39 @@
*/
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;
- }
- }
-
+ @Override
public Image getImage(String filename) {
- return getImageFromHash(this, filename);
+ return ToolkitImageUtil.getImage(this, filename);
}
+ @Override
public Image getImage(URL url) {
- return getImageFromHash(this, url);
+ return ToolkitImageUtil.getImage(this, url);
}
+ @Override
public Image createImage(String filename) {
- SecurityManager security = System.getSecurityManager();
- if (security != null) {
- security.checkRead(filename);
- }
- return createImage(new FileImageSource(filename));
+ return ToolkitImageUtil.createImage(filename);
}
+ @Override
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));
+ return ToolkitImageUtil.createImage(url);
}
+ @Override
public Image createImage(byte[] data, int offset, int length) {
- return createImage(new ByteArrayImageSource(data, offset, length));
+ return ToolkitImageUtil.createImage(
+ new ByteArrayImageSource(data, offset, length));
}
+ @Override
public Image createImage(ImageProducer producer) {
- return new ToolkitImage(producer);
+ return ToolkitImageUtil.createImage(producer);
}
public int checkImage(Image img, int w, int h, ImageObserver o) {
if (!(img instanceof ToolkitImage)) {
return ImageObserver.ALLBITS;