/* * Copyright 2001-2013 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") */ package com.uwyn.rife.tools; import java.awt.*; import java.awt.image.ImageObserver; public class ImageWaiter { private static Canvas waitComponent = null; public static void wait(Image image) { if (waitComponent == null) { waitComponent = new Canvas(); } wait(image, waitComponent); } public static void wait(Image image, Component component) { MediaTracker tracker = new MediaTracker(component); tracker.addImage(image, 0); try { tracker.waitForAll(); } catch (InterruptedException e) { // do nothing } } public static void wait(final Image image, final Component component, final ImageObserver imageobserver) { final MediaTracker tracker = new MediaTracker(component); new Thread(new Runnable() { public void run() { tracker.addImage(image, 0); try { tracker.waitForAll(); } catch (InterruptedException e) { // do nothing } imageobserver.imageUpdate(image, 0, 0, 0, image.getWidth(null), image.getHeight(null)); } }).start(); } }