Imageクラスはコンストラクタを呼び出してオブジェクトを生成することができません。
Imageのオブジェクトの実体はウィンドウシステムに依存する存在だからです。
このため、別の方法で間接的に Imageのオブジェクトを手に入れることになります。
その方法を具体的に解説しましょう。
Imageを取り出す仕事をしてくれるクラスが java.awtパッケージに含まれる
Toolkitクラスです。
このクラスはウィンドウシステムとのインターフェイス(もしくは
ウィンドウシステムそのもの)を提供します。
そして、その性質上 Toolkitのオブジェクト自体も、
Imageと同様ウィンドウシステムに依存する存在です。
したがって Toolkitのコンストラクタを呼び出して、そのオブジェクトを生成する
ことはできません。では、どうしたらいいのでしょうか?
幸い、Toolkitには staticなメソッドとして Toolkit自身のオブジェクトを
システムから受け取るための getDefaultToolkit()というメソッドが用意されています。
最初にこのメソッドを呼び出して Toolkitのオブジェクトを得、
次にそのオブジェクトの getImage()メソッドを用いて Imageのオブジェクトを
得るという、二段階の呼び出しになるわけです。
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage( "fujiki.gif" );
上の記述は、次のように1行にまとめることも可能です。
Image image = Toolkit.getDefaultToolkit().getImage( "fujiki.gif" );
クラスの解説
補足の目次
講義全体の目次
大学のホームページ