I have created a simple application to display images from a database. I have a table in a MySQL database with a column of type BLOB
.
When I retrieve an image from the table it just contains: "javax.swing.ImageIcon@2143ca6".
My code:
String[] columntabelNames = {"Images"};
DefaultTableModel modelas = new DefaultTableModel(columntabelNames, 0);
Statement stmt = null;
ResultSet rs;
try {
Connection conn = getConnection();
stmt = (Statement) conn.createStatement();
ResultSet rs1;
rs1 = stmt.executeQuery("SELECT IMAGES_IMAGE FROM dc_images");
if (rs1.next()) {
byte[] imgData = rs1.getBytes("IMAGES_IMAGE");
ImageIcon imagIcon = new ImageIcon(imgData);
Image im = imagIcon.getImage();
Image myImage = im.getScaledInstance(50, 50, Image.SCALE_SMOOTH);
ImageIcon newImageIcon = new ImageIcon(myImage);
lblimage.setIcon(newImageIcon);
Object data[] = {newImageIcon};
modelas.addRow(data);
}
tabelImage.setModel(modelas);
} catch (Exception ex) {
System.out.println(ex.getMessage());
}