< prev index next >
src/share/classes/sun/awt/SunToolkit.java
Print this page
*** 713,748 ****
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) {
checkPermissions(url);
! 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) {
checkPermissions(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;
}
--- 713,751 ----
public static boolean getSunAwtErasebackgroundonresize() {
return AccessController.doPrivileged(new GetBooleanAction("sun.awt.erasebackgroundonresize"));
}
! static final SoftCache fileImgCache = new SoftCache();
!
! static final SoftCache urlImgCache = new SoftCache();
static Image getImageFromHash(Toolkit tk, URL url) {
checkPermissions(url);
! synchronized (urlImgCache) {
! String key = url.toString();
! Image img = (Image)urlImgCache.get(key);
if (img == null) {
try {
img = tk.createImage(new URLImageSource(url));
! urlImgCache.put(key, img);
} catch (Exception e) {
}
}
return img;
}
}
static Image getImageFromHash(Toolkit tk,
String filename) {
checkPermissions(filename);
! synchronized (fileImgCache) {
! Image img = (Image)fileImgCache.get(filename);
if (img == null) {
try {
img = tk.createImage(new FileImageSource(filename));
! fileImgCache.put(filename, img);
} catch (Exception e) {
}
}
return img;
}
*** 756,787 ****
return getImageFromHash(this, url);
}
protected Image getImageWithResolutionVariant(String fileName,
String resolutionVariantName) {
! synchronized (imgCache) {
Image image = getImageFromHash(this, fileName);
if (image instanceof MultiResolutionImage) {
return image;
}
Image resolutionVariant = getImageFromHash(this, resolutionVariantName);
image = createImageWithResolutionVariant(image, resolutionVariant);
! imgCache.put(fileName, image);
return image;
}
}
protected Image getImageWithResolutionVariant(URL url,
URL resolutionVariantURL) {
! synchronized (imgCache) {
Image image = getImageFromHash(this, url);
if (image instanceof MultiResolutionImage) {
return image;
}
Image resolutionVariant = getImageFromHash(this, resolutionVariantURL);
image = createImageWithResolutionVariant(image, resolutionVariant);
! imgCache.put(url, image);
return image;
}
}
--- 759,791 ----
return getImageFromHash(this, url);
}
protected Image getImageWithResolutionVariant(String fileName,
String resolutionVariantName) {
! synchronized (fileImgCache) {
Image image = getImageFromHash(this, fileName);
if (image instanceof MultiResolutionImage) {
return image;
}
Image resolutionVariant = getImageFromHash(this, resolutionVariantName);
image = createImageWithResolutionVariant(image, resolutionVariant);
! fileImgCache.put(fileName, image);
return image;
}
}
protected Image getImageWithResolutionVariant(URL url,
URL resolutionVariantURL) {
! synchronized (urlImgCache) {
Image image = getImageFromHash(this, url);
if (image instanceof MultiResolutionImage) {
return image;
}
Image resolutionVariant = getImageFromHash(this, resolutionVariantURL);
image = createImageWithResolutionVariant(image, resolutionVariant);
! String key = url.toString();
! urlImgCache.put(key, image);
return image;
}
}
*** 882,893 ****
}
}
return null;
}
! protected static boolean imageCached(Object key) {
! return imgCache.containsKey(key);
}
protected static boolean imageExists(String filename) {
if (filename != null) {
checkPermissions(filename);
--- 886,902 ----
}
}
return null;
}
! protected static boolean imageCached(String fileName) {
! return fileImgCache.containsKey(fileName);
! }
!
! protected static boolean imageCached(URL url) {
! String key = url.toString();
! return urlImgCache.containsKey(key);
}
protected static boolean imageExists(String filename) {
if (filename != null) {
checkPermissions(filename);
< prev index next >