私はクラスImageBeanを持っており、配列からイメージをロードするために使用したいと思います。私は画像を配列にあらかじめロードしてあり(合計9個)、ブラウザをリフレッシュするたびに1つの画像を連続して表示したい。画像は「1.jpg、2.jpg」などとなります。 (画像 '1' - リフレッシュ、画像 '2'ヒットリフレッシュ、画像 '9')。どんな助けでも大歓迎です。ありがとう。Java Server Faces配列からイメージをロードする
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import java.io.Serializable;
import java.util.ArrayList;
import javax.imageio.ImageIO;
@ManagedBean(name="ImageBean")
@SessionScoped
public class ImageBean implements Serializable
{
private static final long serialVersionUID = 1L;
ArrayList<Image> myArr = new ArrayList<Image>();
BufferedImage img = null;
public ImageBean()
{
for(int i = 1; i < 10; i++)
{
try
{
img = ImageIO.read(new File(i + ".jpg"));
}
catch (IOException ex) {}
myArr.add(img);
}
}
public BufferedImage getImage(int i)
{
return (BufferedImage) myArr.get(i);
}
}
編集1
私はれるBufferedImageのアレイの代わりのArrayListを使用するので、わずかにコードを編集しました。今私はエラーは表示されませんが、イメージはブラウザに表示されません。もともと
public class ImageBean implements Serializable
{
private static final long serialVersionUID = 1L;
BufferedImage[] myArr = new BufferedImage[9];
public ImageBean()
{
for(int i = 0; i < 9; i++)
{
try
{
myArr[i] = (ImageIO.read(new File(i+1 + ".jpg")));
}
catch (IOException ex) {}
}
}
public BufferedImage getImage(int i)
{
return (BufferedImage) myArr[i];
}
}
(ちょうど最後の画像のためにリセットすることに注意してください)...現在のイメージを保持し、ちょうど次の画像を取得するための変数を追加するために、次のようになります/ /forums.oracle.com/forums/thread.jspa?threadID=2362283 – EJP