ClassNameTest.java



/** 抽象クラスの実体のクラス名を調べるプログラム */
import java.awt.*;
public class ClassNameTest extends Canvas {

  /** 表示するイメージ */
    public Image im;

  /** コンストラクタ */
    public ClassNameTest() {
        super();
        setSize( 256, 128 );
        setBackground( Color.white );
        Toolkit tk = Toolkit.getDefaultToolkit();
        im = tk.getImage( "elephant.gif" );
        System.out.println( "Tookit Name:"
                                 + tk.getClass().getName() );
    }

   /** 描画メソッド */
    public void paint( Graphics g ) {
        g.drawImage( im, 64, 16, this );
        AlphaComposite ac = AlphaComposite.getInstance(
                                 AlphaComposite.SRC_OVER, 0.5f );
        ((Graphics2D)g).setComposite( ac );
        g.setColor( Color.blue );
        g.fillRect( 0, 64, 256, 128 );
        System.out.println( "Image Name:"
                                 + im.getClass().getName() );
        System.out.println( "Graphics Name:"
                                  + g.getClass().getName() );
    }

  /** 最初に呼び出されるメソッド */
    public static void main( String argv[] ) {
        Frame frame = new Frame( "Class Name Test" );  
        ClassNameTest canvas = new ClassNameTest();  
        frame.add( canvas, "Center" );
        frame.pack();
        frame.show();
    }
}