画像の表示

ちらつきを防ぐためオフスクリーンを利用し,画像が完全にロードされてから表示する。


この位置にJavaAppletの画像が表示されます。


ソースコード

import java.applet.*;
import java.awt.*;

public class ja02 extends Applet
{
  Graphics g;
  Image pic;
  boolean imgload = false;
	
  public void init()
  {
  	g = getGraphics();
  	pic = getImage(getCodeBase(),"pic01.jpg");
  	
  	Image offimg = createImage(size().width,size().height);
  	Graphics offg = offimg.getGraphics();
  	offg.drawImage(pic,0,0,this);
  }
  
  public boolean imageUpdate(Image img,int infoflags,int x,int y,int w,int h)
  {
    if(infoflags == ALLBITS)
    {
      imgload = true;
      repaint();
      return false;
    }
    else
      return true;
  }
  
  public void paint(Graphics g)
  {
    if (! imgload)
      showStatus("pic01.jpg: Loading image");
    else
    {
      showStatus("pic01.jpg:Open");
      g.drawImage(pic,0,0,null);
    }
  }
}

以上