全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス
  クラス java.awt.MediaTracker
java.lang.Object
   |
   +----java.awt.MediaTracker
  -  public class MediaTracker
  -  extends Object
  -  implements Serializable
いくつかのメディアオブジェクトの状態を監視するユーティリティクラスです。メディアオブジェクトには、イメージとオーディオクリップが含まれます。ただし、現在のところイメージだけがサポートされます。これを使用するには、監視するイメージごとにインスタンスを作成してから addImage()を呼び出すだけです。それぞれのイメージには、識別のために固有の IDを割り当てることができます。これらの IDは、イメージを取込む優先順位を制御するとともに、個別に待機されるイメージのサブセットを識別します。次はその例です。
 import java.applet.Applet;
 import java.awt.Color;
 import java.awt.Image;
 import java.awt.Graphics;
 import java.awt.MediaTracker;
 public class ImageBlaster extends Applet implements Runnable {
	MediaTracker tracker;
	Image bg;
	Image anim[] = new Image[5];
	int index;
	Thread animator;
	// Get the images for the background (id == 0) and the animation
	// frames (id == 1) and add them to the MediaTracker
	public void init() {
	    tracker = new MediaTracker(this);
	    bg = getImage(getDocumentBase(), "images/background.gif");
	    tracker.addImage(bg, 0);
	    for (int i = 0; i < 5; i++) {
		anim[i] = getImage(getDocumentBase(), "images/anim"+i+".gif");
		tracker.addImage(anim[i], 1);
	    }
	}
	// Start the animation thread.
	public void start() {
	    animator = new Thread(this);
	    animator.start();
	}
	// Stop the animation thread.
	public void stop() {
	    animator.stop();
	    animator = null;
	}
	// Run the animation thread.
	// First wait for the background image to fully load and paint.
	// Then wait for all of the animation frames to finish loading.
	// Finally loop and increment the animation frame index.
	public void run() {
	    try {
		tracker.waitForID(0);
		tracker.waitForID(1);
	    } catch (InterruptedException e) {
		return;
	    }
	    Thread me = Thread.currentThread();
	    while (animator == me) {
		try {
		    Thread.sleep(100);
		} catch (InterruptedException e) {
		    break;
		}
		synchronized (this) {
		    index++;
		    if (index >= anim.length) {
			index = 0;
		    }
		}
		repaint();
	    }
	}
	// The background image fills our frame so we don't need to clear
	// the applet on repaints, just call the paint method.
	public void update(Graphics g) {
	    paint(g);
	}
	// Paint a large red rectangle if there are any errors loading the
	// images.  Otherwise always paint the background so that it appears
	// incrementally as it is loading.  Finally, only paint the current
	// animation frame if all of the frames (id == 1) are done loading
	// so that we don't get partial animations.
	public void paint(Graphics g) {
	    if ((tracker.statusAll(false) & MediaTracker.ERRORED) != 0) {
		g.setColor(Color.red);
		g.fillRect(0, 0, size().width, size().height);
		return;
	    }
	    g.drawImage(bg, 0, 0, this);
	    if (tracker.statusID(1, false) == MediaTracker.COMPLETE) {
		g.drawImage(anim[index], 10, 10, this);
	    }
	}
 }
 
   
  -   ABORTED ABORTED
-   いずれかのメディアのダウンロードが打ち切られたことを示すフラグである。
  
-   COMPLETE COMPLETE
-   メディアのダウンロードが正常に終了したことを示すフラスである。
    
-   ERRORED ERRORED
-   いずれかのメディアのダウンロードでエラーがあったことを示すフラグである。
    
-   LOADING LOADING
-   いずれかのメディアが現在ロードされつつあることを示すフラグである。
   
  -   MediaTracker(Component) MediaTracker(Component)
-   指定された Component のイメージを監視するための MediaTrackerを作成する。
   
  -   addImage(Image, int) addImage(Image, int)
-   イメージを、監視するイメージのリストに追加する。
  
-   addImage(Image, int, int, int) addImage(Image, int, int, int)
-   スケールされたイメージを、監視するイメージのリストに追加する。
  
-   checkAll() checkAll()
-   すべてのイメージのロードが終了したかどうかを調べる。ただし、イメージがまだロード中でない場合、ロードを開始しない。
  
-   checkAll(boolean) checkAll(boolean)
-   すべてのイメージのロードが終了したかどうかを調べる。
  
-   checkID(int) checkID(int)
-   指定された ID をもつ、すべてのイメージのロードが終了したかどうかを調べる。ただし、イメージがまだロード中でない場合、ロードを開始しない。
  
-   checkID(int, boolean) checkID(int, boolean)
-   指定された ID をもつ、すべてのイメージのロードが終了したかどうかを調べる。
  
-   getErrorsAny() getErrorsAny()
-   エラーとなったすべてのメディアのリストを返す。
  
-   getErrorsID(int) getErrorsID(int)
-   エラーとなった、指定された ID をもつメディアのリストを返す。
  
-   isErrorAny() isErrorAny()
-   すべてのイメージのエラー状態を調べる。
  
-   isErrorID(int) isErrorID(int)
-   指定された ID をもつすべてのイメージのエラー状態を調べる。
  
-   removeImage(Image) removeImage(Image)
-   この MediaTracker から、指定されたイメージを取り除く。
  
-   removeImage(Image, int) removeImage(Image, int)
-   この MediaTracker の指定された ID から、指定されたイメージを取り除く。
  
-   removeImage(Image, int, int, int) removeImage(Image, int, int, int)
-   指定されたサイズと ID をもつ指定のイメージを、この MediaTracker から取り除く。
  
-   statusAll(boolean) statusAll(boolean)
-   監視しているすべてのメディアの状態の論理和を返す。
  
-   statusID(int, boolean) statusID(int, boolean)
-   指定された ID をもつすべてのメディアの状態の論理和を返す。
  
-   waitForAll() waitForAll()
-   すべてのイメージのロードを開始する。
  
-   waitForAll(long) waitForAll(long)
-   すべてのイメージのロードを開始する。
  
-   waitForID(int) waitForID(int)
-   指定された ID をもつすべてのイメージのロードを開始し、そのロードが終了するか、エラーを受け取るまで待つ。
  
-   waitForID(int, long) waitForID(int, long)
-   指定された ID をもつすべてのイメージのロードを開始する。
   
 LOADING
LOADING
  public static final int LOADING
  -  いずれかのメディアがロードされつつあることを示すフラグです。
   
-  
    -  参照:
    
-  statusAll, statusID
  
 
 ABORTED
ABORTED
  public static final int ABORTED
  -  いずれかのメディアのダウンロードが打ち切られたことを示すフラグです。
   
-  
    -  参照:
    
-  statusAll, statusID
  
 
 ERRORED
ERRORED
  public static final int ERRORED
  -  いずれかのメディアのロードでエラーがあったことを示すフラグです。
   
-  
    -  参照:
    
-  statusAll, statusID
  
 
 COMPLETE
COMPLETE
  public static final int COMPLETE
  -  メディアのダウンロードが正常に終了したことを示すフラグです。
   
-  
    -  参照:
    
-  statusAll, statusID
  
 
   
 MediaTracker
MediaTracker
  public MediaTracker(Component comp)
  -  指定された Component のイメージを監視する MediaTracker を作成します。
   
- 
    -  パラメータ:
    
-  comp - それらのイメージが最終的に描画されるコンポーネント
  
 
   
 addImage
addImage
  public void addImage(Image image,
                       int id)
  -  監視するイメージのリストにイメージを追加します。そのイメージは、最終的にそのデフォルトの(スケールされていない)サイズで表されます。
   
- 
    -  パラメータ:
    
-  image - 監視するイメージ
    -  id - このイメージを後に監視するときに使用する識別子
  
 
 addImage
addImage
  public synchronized void addImage(Image image,
                                    int id,
                                    int w,
                                    int h)
  -  監視するイメージのリストにスケールされたイメージを追加します。このイメージは、最終的に、指定されたサイズで表されます。
   
- 
    -  パラメータ:
    
-  image - 監視するイメージ
    -  id - このイメージを後に監視するときに使用する識別子
    -  w - このイメージを表するときに使用される幅
    -  h - このイメージを表するときに使用される高さ
  
 
 checkAll
checkAll
  public boolean checkAll()
  -  すべてのイメージのロードが終了したかどうかを調べます。しかし、イメージがすでにロード中でなくても、それらのロードを開始しません。イメージのロードかスケール中にエラーがあると、そのイメージは「完了」とみなされます。isErrorAny() か isErrorID() でエラーを調べてください。
   
- 
    -  返り値:
    
-  すべてのイメージがロードを完了した、もしくは打ち切られたかエラーがある場合、true 。
    
-  参照:
    
-  checkAll, checkID, isErrorAny, isErrorID
  
 
 checkAll
checkAll
  public boolean checkAll(boolean load)
  -  すべてのイメージのロードが終了したかどうかを調べます。load が true の場合、まだロードされていないイメージがあれば、それらのロードを開始します。イメージのロードまたはスケール中にエラーがあると、そのイメージは「完了」とみなされます。isErrorAny() か isErrorID() でエラーを調べてください。
   
- 
    -  パラメータ:
    
-  load - このパラメータが true の場合、イメージのロードを開始。
    
-  返り値:
    
-  すべてのイメージがロードを完了した、もしくは打ち切られたかエラーがある場合、true。
    
-  参照:
    
-  isErrorAny, isErrorID, checkID, checkAll
  
 
 isErrorAny
isErrorAny
  public synchronized boolean isErrorAny()
  -  すべてのイメージのエラー状態を調べます。
  
   
- 
    -  返り値:
    
-  ロード中にいずれかのイメージにエラーがあると、true が返される。
    
-  参照:
    
-  isErrorID, getErrorsAny
  
 
 getErrorsAny
getErrorsAny
  public synchronized Object[] getErrorsAny()
  -  エラーがあったすべてのメディアのリストを返します。
   
- 
    -  返り値:
    
-  メディアオブジェクトの配列か、エラーがないときは null。
    
-  参照:
    
-  isErrorAny, getErrorsID
  
 
 waitForAll
waitForAll
  public void waitForAll() throws InterruptedException
  -  すべてのイメージのロードを開始します。それらのイメージがロード完了する、もしくは打ち切られるかエラーになるまで待ちます。イメージのロードかスケール中にエラーがあると、そのイメージは「完了」とみなされます。isErrorAny() か statusAll() でエラーを調べてください。
   
- 
    -  例外: InterruptedException
    
-  別のスレッドがこのスレッドに割り込んだ場合。
        
-  参照:
    
-  waitForID, waitForAll, isErrorAny, isErrorID
  
 
 waitForAll
waitForAll
  public synchronized boolean waitForAll(long ms) throws InterruptedException
  -  すべてのイメージのロードを開始します。それらのイメージがロードを完了する、もしくは打ち切られるかエラーになるか、指定されたタイムアウトになるまで待ちます。イメージのロードかスケール中にエラーがあると、そのイメージは「完了」とみなされます。isErrorAny() か statusAll() でエラーを調べてください。
   
- 
    -  パラメータ:
    
-  ms - ロードが完了するのを待つ時間
    
-  返り値:
    
-  すべてのイメージが正常にロードされれば、true が返される。
    
-  例外: InterruptedException
    
-  別のスレッドがこのスレッドに割り込んだ場合。
       
-  参照:
    
-  waitForID, waitForAll, isErrorAny, isErrorID
  
 
 statusAll
statusAll
  public int statusAll(boolean load)
  -  監視しているすべてのメディアの状態の論理和を返します。
   
- 
    -  パラメータ:
    
-  load - メディアのロードを開始するかどうかの指定
    
-  参照:
    
-  statusID, LOADING, ABORTED, ERRORED, COMPLETE
  
 
 checkID
checkID
  public boolean checkID(int id)
  -  指定された ID をもつ、すべてのイメージのロードが完了したかどうかを調べます。しかし、イメージがすでにロード中でなくても、それらのロードを開始しません。イメージのロードかスケール中にエラーがあると、そのイメージは「完了」とみなされます。isErrorAny() か isErrorID() でエラーを調べてください。
   
- 
    -  パラメータ:
    
-  id - どのイメージを調べるのかを指定する識別子
        
-  返り値:
    
-  指定されたすべてのイメージがロードを完了した、もしくは打ち切られたかエラーがあると、true が返される。
    
-  参照:
    
-  checkID, checkAll, isErrorAny, isErrorID
  
 
 checkID
checkID
  public boolean checkID(int id,
                         boolean load)
  -  指定された ID をもつすべてのイメージがロードを終了したかどうかを調べます。load が true の場合、その ID をもつイメージでまだロードされていないものがあれば、それらのロードを開始します。イメージのロードかスケール中にエラーがあると、そのイメージは「完了」とみなされます。isErrorAny() か isErrorID() でエラーを調べてください。
   
- 
    -  パラメータ:
    
-  id - どのイメージを調べるのかを指定する識別子
    -  load - このパラメータが true の場合、イメージのロードを開始。
        
-  返り値:
    
-  指定されたすべてのイメージがロードを完了した、もしくは打ち切られたかエラーになった場合、true が返される。
    
-  参照:
    
-  checkID, checkAll, isErrorAny, isErrorID
  
 
 isErrorID
isErrorID
  public synchronized boolean isErrorID(int id)
  -  指定された ID をもつすべてのイメージのエラー状態を調べます。
   
- 
    -  パラメータ:
    
-  id - どのイメージを調べるのかを指定する識別子
    
-  返り値:
    
-  指定されたイメージのいずれかのロード中にエラーがあると、true が返される。
    
-  参照:
    
-  isErrorAny, getErrorsID
  
 
 getErrorsID
getErrorsID
  public synchronized Object[] getErrorsID(int id)
  -  指定された IDをもつメディアのうちエラーになったもののリストを返します。
   
- 
    -  パラメータ:
    
-  id - どのイメージを返すのかを指定する識別子
        
-  返り値:
    
-  メディアオブジェクトの配列か、エラーがなければ null が返される。
    
-  参照:
    
-  isErrorID, getErrorsAny
  
 
 waitForID
waitForID
  public void waitForID(int id) throws InterruptedException
  -  指定された IDをもつすべてのイメージのロードを開始し、それらのイメージがロードを終了するか、エラーになるまで待ちます。イメージのロードかスケール中にエラーがあると、そのイメージは「完了」とみなされます。 statusID()か isErrorID() でエラーを調べてください。
   
- 
    -  パラメータ:
    
-  id - どのイメージを待つのかを指定する識別子
    
-  例外: InterruptedException
    
-  別のスレッドがこのスレッドに割り込んだ場合。
    
-  参照:
    
-  waitForAll, waitForID, isErrorAny, isErrorID
  
 
 waitForID
waitForID
  public synchronized boolean waitForID(int id,
                                        long ms) throws InterruptedException
  -  指定された IDをもつすべてのイメージのロードを開始します。それらのイメージがロードを終了するか、エラーになるか、指定されたタイムアウトになるまで待ちます。イメージのロードかスケール中にエラーがあると、そのイメージは「完了」とみなされます。 statusID()か isErrorID() でエラーを調べてください。
   
- 
    -  パラメータ:
    
-  id - どのイメージを待つのかを指定する識別子
    -  ms - ロードが終了するまで待つ時間
        
-  例外: InterruptedException
    
-  別のスレッドがこのスレッドに割り込んだ場合。
    
-  参照:
    
-  waitForAll, waitForID, isErrorAny, isErrorID
  
 
 statusID
statusID
  public int statusID(int id,
                      boolean load)
  -  指定された ID をもつすべてのメディアの状態の論理和を返します。
   
- 
    -  パラメータ:
    
-  id - どのイメージを調べるのかを指定する識別子
    -  load - メディアのロードを始めるかどうかを指定する
    
-  参照:
    
-  statusAll, LOADING, ABORTED, ERRORED, COMPLETE
  
 
 removeImage
removeImage
  public synchronized void removeImage(Image image)
  -  指定されたイメージをこの MediaTracker から取り除きます。スケールや ID とは関係なく、すべてのイメージのインスタンスが除去されます。
   
- 
    -  パラメータ:
    
-  image - 取り除くイメージ
    
-  参照:
    
-  removeImage, removeImage
  
 
 removeImage
removeImage
  public synchronized void removeImage(Image image,
                                       int id)
  -  指定されたイメージをこの MediaTrackerの指定された IDから取り除きます。その IDのもとで監視されているイメージのすべてのインスタンスが、スケールとは関係なく除去されます。
   
- 
    -  パラメータ:
    
-  image - 取り除くイメージ
    -  id - どのイメージを削除するかを指定する識別子
    
-  参照:
    
-  removeImage, removeImage
  
 
 removeImage
removeImage
  public synchronized void removeImage(Image image,
                                       int id,
                                       int width,
                                       int height)
  -  指定されたサイズと ID をもつ指定されたイメージをこの MediaTracker から取り除きます。特定のインスタンス(重複があればそれらも)だけが除去されます。
   
- 
    -  パラメータ:
    
-  image - 取り除くイメージ
    -  id - どのイメージを削除するかを指定する識別子
        -  width - 取り除く幅 (スケールされていないものは -1)
    -  height - 取り除く高さ(スケールされていないものは -1)
    
-  参照:
    
-  removeImage, removeImage
  
 
全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス