Я создал массив изображений, полученных с помощью url a, и я хочу отображать их в одном столбце с новым изображением в каждой строке. Насколько я знаю, код делает правильные вещи, однако в ячейках, предназначенных для содержания каждого изображения, он возвращает BufferedImage @ ... для каждого изображения.Jtable Not Displaying Images
Document doc = Jsoup.connect(crawlUrlp).get();
Elements img = thumbnails.select("img");
for (Element a : img) {
URL url = new URL(a.attr("src"));
BufferedImage[] imge = {ImageIO.read(url)};
for (int i = 0; i < imge.length; i++) {
format.addRow(new BufferedImage[]{imge[i]});
}
}
Так что я тогда написал образ визуализации ячейки:
public class BufferedImageCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (value instanceof BufferedImage) {
setIcon(new ImageIcon((BufferedImage) value));
setText(null);
}
return this;
}
}
Который, кажется, не делать. Правильно ли я полагаю, что, несмотря на вывод «BufferedImage», я создал массив строк? Как показать эти изображения ???
Ваш рендер выглядит отлично. Как вы устанавливаете его в JTable? – VGR