2015-04-26 5 views
0

Я могу получить первое изображение из базы данных из ResultSet когда JButton нажата так:Получение следующего изображения() из базы данных с помощью ArrayList Java

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

Как может одно и то же поле в базе данных содержать текст, а также изображение? Вы уверены, что изображения и текст хранятся в столбце 'questionDesc'? Кроме того, я действительно не уверен, что ваш вопрос? – CKing

+0

Вы хотите знать, как отображать изображение из того, что вы получили из базы данных? – Eranda

+0

@bot, К сожалению, я должен был упомянуть, что это всего две отдельные таблицы (исключительно для демонстрационных целей), один содержит текст, другой - изображения. Мне удалось получить текст из ArrayList, но я не уверен, как извлечь из него изображения. – SPeoples

ответ

1

Используется, если условие для выбранных данных, чтобы вы больше не итерации. Если в цикле используется несколько строк, чтобы перебрать все строки.

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); 
} 
+1

Спасибо за комментарий .. Однако я получаю сообщение об ошибке 'Метод add (byte []) в типе ArrayList не применим для аргументов (изображения)' – SPeoples

+0

Никогда ум, исправил это !! благодаря – SPeoples

Смежные вопросы