I am working on a socket programming assignment but I am facing a problem. I have to display an image from a path stored in a database. But instead of the image being displayed I am getting this message in the Jtable javax.swing.ImageIcon@2f672341. I wish to know the reason and how can I display the image property. I would really appreciate your helps. Thank you in advance.
public void show_Newadded() {
try {
toServerO.writeObject("shownewadded");
toServerO.flush();
} catch (Exception ex) {
ex.printStackTrace();
}
ArrayList<Product> list = NewaddedList();
DefaultTableModel model = (DefaultTableModel) tblhome.getModel();
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
tblhome.getColumnModel().getColumn(0).setCellRenderer( centerRenderer );
tblhome.getColumnModel().getColumn(1).setCellRenderer( centerRenderer );
tblhome.getColumnModel().getColumn(2).setCellRenderer( centerRenderer );
tblhome.getColumnModel().getColumn(3).setCellRenderer( centerRenderer );
tblhome.getColumnModel().getColumn(4).setCellRenderer( centerRenderer );
tblhome.getColumnModel().getColumn(5).setCellRenderer( centerRenderer );
tblhome.getColumnModel().getColumn(6).setCellRenderer( centerRenderer );
tblhome.getColumnModel().getColumn(7).setCellRenderer(tblhome.getDefaultRenderer(ImageIcon.class));
Object[] row = new Object[8];
model.setRowCount(0);
for (int i = 0; i < list.size(); i++) {
row[0] = list.get(i).getproductId();
row[1] = list.get(i).getproduct();
row[2] = list.get(i).getbrand();
row[3] = list.get(i).getmodel();
row[4] = list.get(i).getfeatures();
row[5] = list.get(i).getstock();
row[6] = list.get(i).getprice();
String temp = list.get(i).getimagepath();
ImageIcon ii = new ImageIcon(getClass().getResource("/products/product/" + temp));
Image img = Toolkit.getDefaultToolkit().getImage(temp);
Image resizedImage = ii.getImage();
ii = new ImageIcon(resizedImage.getScaledInstance(160, 160, Image.SCALE_SMOOTH));
row[7] = ii;
model.addRow(row);
tblhome.setRowHeight(150);
tblhome.getColumnModel().getColumn(7).setPreferredWidth(150);
}
}
''' Sorry for not using the naming convention.