import java.applet.*;
import java.awt.*;
public class tech00221 extends Applet{
Image offScreenBuffer, image;
public void init(){
image = this.getImage(this.getDocumentBase(),"picture.jpg");
/*
picture.jpgという名の画像がHTMLと同階層にあると仮定しています。
*/
}
public void paint(Graphics g){
int drawWidth, drawHeight;
g.drawImage(image,0,0,300,300,this);
/*
*/
}
public void update(Graphics g)
{
Graphics gr;
if (offScreenBuffer==null ||
(! (offScreenBuffer.getWidth(this) == this.size().width
&& offScreenBuffer.getHeight(this) == this.size().height)))
{
offScreenBuffer = this.createImage(size().width, size().height);
/*
この手法はdouble-bufferingと呼び、画像を完全に取得してから
描画します。他のコンポーネントを配置するときなどのチラツキを
抑えます。かなり重要です。
上のif文は画像の大きさが正確なことを確かめています。
上記の画像のサイズが大きいときなどに使えます。
*/
}
gr = offScreenBuffer.getGraphics();
paint(gr);
g.drawImage(offScreenBuffer, 0, 0, 300,300,this);
}
}