Member 13018955 Ответов: 1

Изображение Blob-объекта извлекается из базы данных, но не отображается в java jlabel?


Я перепробовал почти все... Пожалуйста, помогите кому-нибудь. Вывод отображается следующим образом: 123456789javax.swing.ImageIcon@2f672341BUILD успешно (общее время: 21 секунда)
Но изображение не отображается.

Что я уже пробовал:

public class viewimage extends javax.swing.JFrame {

    private javax.swing.JLabel img123;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JTextField jTextField1;
    
    String path;
    int i;
     private String image;
   
    public viewimage() {
        initComponents();
    }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
 try {
            System.out.print(1);
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sample1", "root", "");
            System.out.print(2);
            Statement st = con.createStatement();
            System.out.print(3);
            ResultSet rs = st.executeQuery("select * from images where name = '" + jTextField1.getText() + "'");
 if (rs.next()) {
                 System.out.print(4);
                    path = rs.getString("image");
                    System.out.print(5);
                    rs.absolute(i+1);
                    ImageIcon image = new ImageIcon(rs.getBytes("image"));
                    System.out.print(6);
                    Image im = image.getImage();
                    System.out.print(7);
                    Image myImg = im.getScaledInstance(img123.getWidth(),  img123.getHeight(),Image.SCALE_SMOOTH);
                    
                    System.out.print(8);
                     System.out.print(9);
                    img123.setIcon(image);
                    System.out.print(image);
                    getContentPane().add(img123);
            }
            else{
                    JOptionPane.showMessageDialog(null, "No Data");
                }
} catch (Exception e) {
            e.printStackTrace();
        }

    }
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jTextField1.setText("");
        img123.setIcon(null);
    } 

Richard MacCutchan

Где находится код для установки метки?

Member 13018955

Я извиняюсь, чтобы сказать, что не правильный код. Я разместил правильный код выше. Предыдущий код был вариацией, чтобы посмотреть, работает ли он. Это не. Я разместил правильный код выше.