ui/src/main/java/ucar/nc2/ui/image/PicturePane.java
public void scalableStatusChange(int pictureStatusCode, String pictureStatusMessage) {
		Tools.log("PicturePane.scalableStatusChange: got a status change: " + pictureStatusMessage);

		if ( pictureStatusCode == ScalablePicture.READY ) {
			Tools.log("PicturePane.scalableStatusChange: a READY status");
			pictureStatusMessage = legend;
			if ( centerWhenScaled ) {
				Tools.log("PicturePane.scalableStatusChange: centering image");
				centerImage();
			}
			Tools.log("PicturePane.scalableStatusChange: forcing Panel repaint");
			repaint();
		}

		Enumeration e = picturePaneListeners.elements();
		while ( e.hasMoreElements() ) {
			( (ScalablePictureListener) e.nextElement() )
				.scalableStatusChange( pictureStatusCode, pictureStatusMessage );
		}
	}
public void scalableStatusChange(int pictureStatusCode, String pictureStatusMessage) {
		Tools.log("PicturePane.scalableStatusChange: got a status change: " + pictureStatusMessage);

		if ( pictureStatusCode == ScalablePicture.READY ) {
			Tools.log("PicturePane.scalableStatusChange: a READY status");
			pictureStatusMessage = legend;
			if ( centerWhenScaled ) {
				Tools.log("PicturePane.scalableStatusChange: centering image");
				centerImage();
			}
			Tools.log("PicturePane.scalableStatusChange: forcing Panel repaint");
			repaint();
		}

		Enumeration e = picturePaneListeners.elements();
		while ( e.hasMoreElements() ) {
			( (ScalablePictureListener) e.nextElement() )
				.scalableStatusChange( pictureStatusCode, pictureStatusMessage );
		}
	}
method that gets invoked from the ScalablePicture object to notify of status changes.
The ScalablePicture goes through several statusses: UNINITIALISED, GARBAGE_COLLECTION,
LOADING, SCALING, READY, ERROR.<p>
Each status is passed to the listener upon receipt.<p>
When the ScalablePicture signals that it is READY the legend of the picture is sent
to the listener. The method {@link #centerImage} is called and a repaint is requested.