画像を表示する

画像を表示するには２つの処理が必要です。

画像を読み込む

画像を表示する

読み込んだ画像を覚えておくにはImageクラスの変数(オブジェクト)を使います。

画像を読み込む

最初に一度だけ行えばよい。

コンストラクタ内に記述すれば、インスタンスが作られるときに１度だけ実行される。

画像ファイルから読み込むには ImageIconクラスを使います。

javax.swingパッケージにあります。

コンストラクタ ImageIcon( ファイル名 ) を使うとファイルから読みこんでインスタンスが作られます。

ImageIconインスタンスからImageを得るにはgetImageメソッドを使います。

public class Sample5 extends JPanel
{
Image img;
Sample5()
{
ImageIcon ii;
ii = new ImageIcon( "sample.jpg" );
img = ii. getImage();
}
}

画像を表示する

表示はpaintComponentメソッド内に記述します。

drawImageメソッドを使います。

java.awtパッケージ内

graphicsクラス

のメソッドです。

APIを調べてみましょう。同じ名前のメソッドが６種類あります。
最も簡単な使い方を示します。

g.drawImage(img, 0,0, this);

１番目の引数で表示するイメージを指定します。

２番目と３番目の引数で、どの位置に表示するかを指定します。

４番目の引数には情報を受け取るオブジェクトを指定します。通常はthisを指定すればよい。

画像を読み込む処理は別のスレッドで行われるため、 場合によっては処理が完了したかなどの情報が必要なことがあります。 ネットワークを介してファイルを読み込むなど手間のかかる処理を考えてみてください。 読み込みだけでなく、別のスレッドでイメージを修正しようとしているかもしれません。 このために、ImageObserverの機能をもつオブジェクトを最後の引数として指定します。

演習

例とは別のdrawImageメソッドを使って、画像の一部をウインドウ内の一部に表示しなさい。

ヒント

上の例はAPIリファレンスの２番目のdrawImageであるが、６番目のdrawImageを使う。