2013-05-30 11 views
0

Я динамически добавлять данные в ячейку со следующим кодом:Динамически добавлять изображения клетки JTable

for(int i = 0; i < matchedSlots.size(); i++) 
{ 
    String title = matchedSlots.get(i).getTitle(); 
    String director = matchedSlots.get(i).getDirector(); 
    int rating = matchedSlots.get(i).getRating(); 
    int runTime = matchedSlots.get(i).getRunningTime(); 

    DefaultTableModel tm = (DefaultTableModel) searchResults.getModel();  
    tm.addRow(new Object[] {title,director,rating,runTime}); 
} 

, что мне нужно, чтобы добавить к вышесказанному, чтобы иметь возможность добавить изображение в первой ячейке каждая строка

ответ

1
ImageIcon image = new ImageIcon("image.gif"); 
... 
tm.addRow(new Object[] {image,title,director,rating,runTime}); 

Возможно, вам потребуется изменить модель таблицы для учета нового столбца, если вы еще этого не сделали.

Эта короткая статья должна помочь вам с визуализатора изображения: http://mdsaputra.wordpress.com/2011/06/13/swing-hack-show-image-in-jtable/

+0

Я пробовал это, и все, что он делает, это показать путь. Вместо того, чтобы жестко кодировать имя пути, я использовал matchedSlot.get (i) .getImagePath – batsta13

1

По умолчанию JTable может сделать изображения. Вам просто нужно переопределить getColumnClass() в TableModel и вернуть Icon.class для 1-го столбца.

Посмотрите на Renderers and Editors для более подробной информации.

+0

может предоставить любой код? – batsta13

+0

Посмотрите на [ответ] (http://stackoverflow.com/questions/4941372/how-to-insert-image-into-jtable-cell), предоставленный @camickr – Amarnath

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