2005-04-19 Roman Kennke <roman@kennke.org>
* javax/swing/ImageIcon.java Added API documentation. 2005-04-19 Roman Kennke <roman@kennke.org> * javax/swing/text/ImageIcon.java (ImageIcon): Use setImage instead of direct assignment. (setImage): Call loadImage to make sure that the image is loaded. (loadImage): Waits for the image to complete loading. (getImageLoadStatus): Added. Returns the load status of the image. From-SVN: r98384
This commit is contained in:
parent
3419f465cf
commit
b9d896d600
2 changed files with 70 additions and 4 deletions
|
@ -1,3 +1,17 @@
|
|||
2005-04-19 Roman Kennke <roman@kennke.org>
|
||||
|
||||
* javax/swing/ImageIcon.java
|
||||
Added API documentation.
|
||||
|
||||
2005-04-19 Roman Kennke <roman@kennke.org>
|
||||
|
||||
* javax/swing/text/ImageIcon.java
|
||||
(ImageIcon): Use setImage instead of direct assignment.
|
||||
(setImage): Call loadImage to make sure that the image is loaded.
|
||||
(loadImage): Waits for the image to complete loading.
|
||||
(getImageLoadStatus): Added. Returns the load status of the
|
||||
image.
|
||||
|
||||
2005-04-19 Audrius Meskauskas <audriusa@bluewin.ch>
|
||||
|
||||
* javax/swing/JTextArea.java (replaceRange):
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* ImageIcon.java --
|
||||
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
|
@ -40,6 +40,7 @@ package javax.swing;
|
|||
import java.awt.Component;
|
||||
import java.awt.Graphics;
|
||||
import java.awt.Image;
|
||||
import java.awt.MediaTracker;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.image.ImageObserver;
|
||||
import java.io.Serializable;
|
||||
|
@ -50,10 +51,23 @@ public class ImageIcon
|
|||
implements Icon, Serializable
|
||||
{
|
||||
private static final long serialVersionUID = 532615968316031794L;
|
||||
|
||||
/** A dummy Component that is used in the MediaTracker. */
|
||||
protected static Component component = new Component(){};
|
||||
|
||||
/** The MediaTracker used to monitor the loading of images. */
|
||||
protected static MediaTracker tracker = new MediaTracker(component);
|
||||
|
||||
/** The ID that is used in the tracker. */
|
||||
private static int id;
|
||||
|
||||
Image image;
|
||||
String description;
|
||||
ImageObserver observer;
|
||||
|
||||
/** The image loading status. */
|
||||
private int loadStatus;
|
||||
|
||||
public ImageIcon()
|
||||
{
|
||||
}
|
||||
|
@ -95,8 +109,8 @@ public class ImageIcon
|
|||
|
||||
public ImageIcon(Image image, String description)
|
||||
{
|
||||
this.image = Toolkit.getDefaultToolkit().createImage(image.getSource());
|
||||
this.description = description;
|
||||
setImage(image);
|
||||
setDescription(description);
|
||||
}
|
||||
|
||||
public ImageObserver getImageObserver()
|
||||
|
@ -116,7 +130,8 @@ public class ImageIcon
|
|||
|
||||
public void setImage(Image image)
|
||||
{
|
||||
this.image = Toolkit.getDefaultToolkit().createImage(image.getSource());
|
||||
loadImage(image);
|
||||
this.image = image;
|
||||
}
|
||||
|
||||
public String getDescription()
|
||||
|
@ -143,4 +158,41 @@ public class ImageIcon
|
|||
{
|
||||
g.drawImage(image, x, y, observer != null ? observer : c);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the image and blocks until the loading operation is finished.
|
||||
*
|
||||
* @param image the image to be loaded
|
||||
*/
|
||||
protected void loadImage(Image image)
|
||||
{
|
||||
try
|
||||
{
|
||||
tracker.addImage(image, id);
|
||||
id++;
|
||||
tracker.waitForID(id - 1);
|
||||
}
|
||||
catch (InterruptedException ex)
|
||||
{
|
||||
; // ignore this for now
|
||||
}
|
||||
finally
|
||||
{
|
||||
loadStatus = tracker.statusID(id - 1, false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the load status of the icon image.
|
||||
*
|
||||
* @return the load status of the icon image
|
||||
*
|
||||
* @see {@link MediaTracker.COMPLETE}
|
||||
* @see {@link MediaTracker.ABORTED}
|
||||
* @see {@link MediaTracker.ERRORED}
|
||||
*/
|
||||
public int getImageLoadStatus()
|
||||
{
|
||||
return loadStatus;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue