当点击JButton时,我能够从ResultSet中检索数据库中的第一个图像:
if(rs.next()){
byte[] imageQues = rs.getBytes("questionDesc");
imageQuestion = new ImageIcon(imageQues);
lblQuestionDesc.setIcon(imageQuestion);
}
但假设我想通过 ArrayList
阅读这些图片并显示下一个 n
图片,我不确定如果这是正确的:
public class Images {
private byte[] question;
public Images(byte[] _question){
this.question = _question;
}
public byte[] getQuestion(){
return this.question;
}
另一个ArrayList我已经显示了每个问题(作为文本)没有问题,如下所示:
public static List<Questions> BindList(){
try{
//Get a connection
//Create Statement...
//Declare ArrayList
List<Questions> list = new ArrayList<Questions>();
while(rs.next()){
Questions ques = new Questions(rs.getString("questionDesc"));
list.add(ques);
}
return list;
}catch(SQLException ex1){
//Exception stuff
}
return null;
}
public void ShowQuestions(int index){
lblQuestion.setText(BindList().get(index).getQuestion());
}
我的问题是......是否有可能以与显示文字相同的方式显示图像?我怎么能这样做?提前谢谢。
答案 0 :(得分:1)
您正在对获取的数据使用if条件,因此您不会进一步迭代。如果有多个行使用while循环来迭代所有行。
List<Images> imgList = new ArrayList<Images>();
while(rs.next()){
Images img = new Images(rs.getBytes("questionDesc"));
imgList.add(img);
imageQuestion = new ImageIcon(img);
lblQuestionDesc.setIcon(imageQuestion);
}