在JTable中用鼠标单击时图像在JLabel中不可见

问题描述

我正在为学校项目申请一小份。将照片插入sql数据库很好,我可以在JTable重命名照片,也可以在sql编辑器中打开Blob照片。无法在JLabel显示照片。

有人可以帮我吗?

目的是预览单击鼠标时输入的信息。该应用程序是一个图片库,您可以在其中输入不同的医疗设备。

代码JTable

 DefaultTableModel model = (DefaultTableModel) tableDom.getModel();
    try {
        Class.forName("com.MysqL.jdbc.Driver"); //database connectie maken
        try (Connection conn = DriverManager.getConnection("jdbc:MysqL://localhost:3306/mybrains? 
        allowMultiQueries=true&serverTimezone=America/Winnipeg&dummyparam=","","")) {

            String sql = "Select * from Telefonie ";  
            PreparedStatement pstmt = conn.prepareStatement(sql);
            ResultSet rs = pstmt.executeQuery(sql);
            model.setRowCount(0);
            while (rs.next()) {
                int id = rs.getInt("ID");
                String naam = rs.getString("naam"); // naam is een kollom in de database
                String model_type = rs.getString("Model_Type");
                String functionaliteit = rs.getString("Functionaliteit");
                String troubleshoot = rs.getString("Troubleshoot");
                String oplossing = rs.getString("Oplossing");
                String voorbeeld = rs.getString("Fotonaam");
                byte[] fotos = rs.getBytes("Uploadfoto");

                // ImageIcon imageicon = new ImageIcon(fotos);
                //voorbeeldfoto.setIcon(imageicon);
                //voorbeeldfoto.setIcon(foto());
                model.addRow(new Object[]{id,naam,model_type,functionaliteit,troubleshoot,oplossing,voorbeeld,fotos});
            }
        } 
    } catch (ClassNotFoundException | sqlException e) {
    }

点击了鼠标键

try {
        int i = tableDom.getSelectedRow();

        Class.forName("com.MysqL.jdbc.Driver"); //database connectie maken
        Connection conn = DriverManager.getConnection("jdbc:MysqL://localhost:3306/mybrains? 
       allowMultiQueries=true&serverTimezone=America/Winnipeg&dummyparam=","");

        String sql = "Select * from Telefonie";   
        PreparedStatement pstmt = conn.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery(sql);

        if (rs.next());

        //int i = tableDom.getSelectedRow();
        TableModel model = tableDom.getModel();
        iD.setText(model.getValueAt(i,0).toString());
        name.setText(model.getValueAt(i,1).toString());
        modelt.setText(model.getValueAt(i,2).toString());
        func.setText(model.getValueAt(i,3).toString());
        oplos.setText(model.getValueAt(i,4).toString());
        troubl.setText(model.getValueAt(i,5).toString());
        photoNaam.setText(model.getValueAt(i,6).toString());
        byte[] voorbeeldfoto = rs.getBytes("Uploadfoto");

        JLabel image1 = (JLabel) model.getValueAt(i,8);
        ImageIcon image1Icon = (ImageIcon) image1.getIcon();
        voorbeeldfoto.setIcon(image1Icon);
    } catch (ClassNotFoundException | sqlException ex) {
        JOptionPane.showMessageDialog(rootPane,name);

    }
}                            

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)