У меня есть класс ImageBean, и я хочу использовать его для загрузки изображений из массива.Я предварительно загрузил массив с изображениями (всего 9) и хочу отображать одно изображение последовательно каждый раз, когда я обновляю браузер.Изображения называются «1.jpg, 2.jpg» и т. Д. (Т. Е. Изображение «1» - хитовое обновление, изображение «2», обновление хита, ... изображение «9»).Любая помощь будет принята с благодарностью.Спасибо.
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
Я немного отредактировал код, поэтому вместо ArrayList я использую массив BufferedImage.Теперь я не получаю сообщение об ошибке, но изображение не отображается в браузере.
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];
}
}