== 画像を表示する(2) == === 画像ファイル === この画像ファイル(game0.png)を使うことにします。 . {{attachment:game0.png}} 書かれている数は0~15の16個です。 ---- === プログラム === 画像ファイル(game0.png)を読み込んで、 それを表示するプログラムは次のようになります。 第11回、12回参照。 {{{#!java import javax.swing.*; import java.awt.*; public class Game1 extends JPanel { Image img; Game1() { ImageIcon ii = new ImageIcon("game0.png"); img = ii.getImage(); } public void paintComponent(Graphics g) { g.drawImage(img, 0,0, this); } public static void main(String[] args) { JFrame f; f = new JFrame(); f.setVisible(true); f.setTitle("15Game"); f.setSize(420, 450); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add( new Game1() ); } } }}} ---- === drawImage === このメソッドは JavaAPIのページでは次のように説明されています。 {{{ public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer) }}} * 指定されたイメージの現在利用可能な部分だけを描きます。イメージは、このグラフィックスコンテキストの座標空間の (x, y) にその左上隅を合わせて描画されます。イメージ内の透明ピクセルは、そこにすでに存在するどのようなピクセルにも影響しません。 * 完全なイメージがロード済みでなく、現在の出力デバイスに対してディザリング済みおよび変換済みでなくても、このメソッドはすべての場合にただちに復帰します。 * イメージが完全にロードされ、ピクセルが変更されなくなった場合、drawImage は true を返します。イメージが完全にロードされていない場合、drawImage は false を返し、イメージのさらに多くの部分が利用可能になるか、アニメーションの別のフレームに描画され、イメージをロードするプロセスにより指定のイメージオブザーバに通知されます。 * パラメータ: * img - 描画される指定イメージimg が null の場合には何も行わない * x - x 座標 * y - y 座標 * observer - イメージがさらに変換されることが通知されるオブジェクト