Я пытаюсь использовать JTable
для отображения моего списка персонала с каждой фотографией, посвященной каждому человеку. Я хочу показать эти изображения в ячейке JTable
. Я добился показа изображений из каталога с помощью специального средства визуализации ячеек. Это средство визуализации ячеек возвращает метку с иконкой с помощью метода new ImageIcon()
. Каждый раз, когда в моем JTable
происходит прокрутка, я думаю, этот рендерер работает и создает новые изображения из каталога. Так что это заставляет RAM взрываться и глюки в изображениях. Я прочитал все вопросы, связанные с этой проблемой, однако я не смог найти эффективный способ ее решения. Подход к этой проблеме будет высоко оценен.
Мой рендерер выглядит так:
public class ImageCellRenderer extends DefaultTableCellRenderer{
JLabel lbl=new JLabel();
public Component getTableCellRendererComponent(defaultparameters){
ImageIcon imageIcon=new ImageIcon(getClass().getResource("path to directory"+table.getModel().getValueAt(row,column).toString+".jpg"));
"""
Some code to turn image icon to scaled version
"""
lbl.setIcon(imageIcon)
return lbl;
}
}