javaのImageを二次元配列

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
daj

javaのImageを二次元配列

#1

投稿記事 by daj » 13年前

javaです。私は画像を表示する時

コード:

import java.awt.*;
import javax.swing.*;

class Jpeg extends JFrame
{   static  Image   img;
    public Jpeg()
    {   super("Win JPEG");
        img = getToolkit().getImage("test.jpg");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(320, 230);
        setVisible(true);
    }
    public static void main(String args[])
    {   new Jpeg();
    }
    public void paint(Graphics g)
    {   super.paint(g);
        if (img!=null)
           g.drawImage(img,16,40,this);
    }
}
のようにやっているのですが、Image imgをImage[] img[10]等のように二次元配列に出来ないでしょうか?
このままだと複数枚の画像を表示する時、
g.drawImage(img,16,40,this);
g.drawImage(img1,16,60,this);
のようにしなければいけないのが手間に思えるので…

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: javaのImageを二次元配列

#2

投稿記事 by ISLe » 13年前

daj さんが書きました:Image imgをImage[] img[10]等のように二次元配列に出来ないでしょうか?
基本的な構文だと思いますが、こんな感じでいかがでしょう。

コード:

import java.awt.*;
import javax.swing.*;

public class Jpeg extends JFrame
{
	/* static */ Image[] img = new Image[10]; // なぜstatic?
	public Jpeg()
	{
		super("Win JPEG");
		img[0] = getToolkit().getImage("test0.jpg");
		img[1] = getToolkit().getImage("test1.jpg");
		img[2] = getToolkit().getImage("test2.jpg");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(320, 230);
		setVisible(true);
	}
	public static void main(String[] args)
	{
		new Jpeg();
	}
	public void paint(Graphics g)
	{
		super.paint(g);
		int ofs = 0;
		for (Image img : this.img) {
			if (img!=null) {
				g.drawImage(img,16+ofs,40+ofs,this);
				ofs += 10;
			}
		}
    }
}

daj

Re: javaのImageを二次元配列

#3

投稿記事 by daj » 13年前

返信ありがとうございます
これを参考に頑張りますm(_ _)m

閉鎖

“C言語何でも質問掲示板” へ戻る