import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Canvas;
import java.awt.Color; // 着色用(分かり易くするため)

public class xSmpGUI15 extends Applet {

    public void init(){
       
        // 生成
        xMojiCanvas xmojiCanvas = new xMojiCanvas("Hello, World");
        xmojiCanvas.setSize(100,50);
        xmojiCanvas.setBackground(Color.pink); // 着色

        xOvalCanvas xovalCanvas = new xOvalCanvas(5, 25, 100, 100);
        xovalCanvas.setSize(100,100);
        xovalCanvas.setBackground(Color.yellow); // 着色

        Image ximg = getImage(getDocumentBase(),"img1.gif");;
        xImgCanvas ximgCanvas =   new xImgCanvas(ximg, 5, 25);
        ximgCanvas.setSize(100,100);
        ximgCanvas.setBackground(Color.red); // 着色

        // 表示
        add(xmojiCanvas);
        add(xovalCanvas);
        add(ximgCanvas);
    }
}

// 文字列表示用キャンバス
class xMojiCanvas extends Canvas {

    // インスタンス変数
    String istr;

    // 生成(コンストラクタ)
    public xMojiCanvas(String xstr){
        istr = xstr;
    }

    // メソッド    
    public void paint(Graphics xg){
        xg.drawString(istr ,5, 25);
    }
}

// 楕円表示用キャンバス
class xOvalCanvas extends Canvas {

    int ix,iy,iwidth,iheight;

    public xOvalCanvas(int x, int y, int width, int height){
        ix = x;
        iy = y;
        iwidth = width;
        iheight = height;
    }

    public void paint(Graphics xg){
        xg.drawOval(ix, iy, iwidth, iheight);
    }
}

// 画像ファイル表示用キャンパス
class xImgCanvas extends Canvas {

    Image iimg;
    int ix, iy;

    public xImgCanvas(Image ximg, int x, int y){
        iimg = ximg;
        ix = x;
        iy = y;
    }
    
    public void paint(Graphics xg){
        xg.drawImage(iimg, ix, iy, this);
    }
}

