Java &引用;org.apache.derby.client。ClientBlob@518bb3a1&引用;而不是在数据库的Jtable上显示图像

Java &引用;org.apache.derby.client。ClientBlob@518bb3a1&引用;而不是在数据库的Jtable上显示图像,java,mysql,Java,Mysql,“org.apache.derby.client。ClientBlob@518bb3a1“显示在jtable的列中,图像应该显示在该列中。我将gif图像作为blob存储到javaderby数据库中。这是什么意思 这是渲染器类: package JavaApplication29; import java.awt.Component; import javax.swing import javax.swing.table.DefaultTableCellRenderer; public

“org.apache.derby.client。ClientBlob@518bb3a1“显示在jtable的列中,图像应该显示在该列中。我将gif图像作为blob存储到javaderby数据库中。这是什么意思

这是渲染器类:

 package JavaApplication29;
 import java.awt.Component;
 import javax.swing

import javax.swing.table.DefaultTableCellRenderer;

public class ImageRenderer extends DefaultTableCellRenderer{
 @Override
 public Component getTableCellRendererComponent(JTable table,Object  
 value, boolean isSelected,boolean hasFocus, int row, int column)
 {
    JLabel label = new JLabel();

    if (value!=null) {
    label.setHorizontalAlignment(JLabel.CENTER);

    label.setIcon(new ImageIcon((byte[])value));
    }

    return label;
 }

 }
这是动作执行部分:

  DefaultTableModel model = new DefaultTableModel();




       String sqlQuery = "select COLUMN1, COLUMN2, COLUMN3, COLUMN4,  
   COLUMN5 from APP.DATA123 "
    + "where (COLUMN1 = ?) AND (COLUMN2 = ?) AND (COLUMN3 = ?) OR 
(COLUMN2 
   = ?) AND (COLUMN3 = ?)";



        String abc = jTextField2.getText();
        String cba = (String)jComboBox1.getSelectedItem();
        String cab = (String)jComboBox2.getSelectedItem();
        String data = "jdbc:derby://localhost:1527/sample";
    try (
          Connection conn = DriverManager.getConnection(
          data, "app", "app");
          PreparedStatement st = conn.prepareStatement(sqlQuery))   { 



      Class.forName("org.apache.derby.jdbc.ClientDriver");
      st.setString(1, abc);
      st.setString(2, cba);
      st.setString(3, cab);       
      st.setString(4, cba);
      st.setString(5, cab);
      ResultSet rec = st.executeQuery();
      jTable1.getColumnModel().getColumn(6).setCellRenderer(new    
   ImageRenderer());
      jTable1.setModel(DbUtils.resultSetToTableModel(rec));

           st.close(); 


        } catch (SQLException s)  {
      System.out.println("SQL Error: " + s.toString()  + " "
              + s.getErrorCode() + " " + s.getSQLState());
   } catch (Exception e) {
      System.out.println("Error: " + e.toString()
      + e.getMessage());

toString()似乎是针对Blob对象的对象执行的-应该改为获取内容

toString()似乎是针对Blob对象的对象执行的-应该取而代之的是内容

你能分享有问题的代码吗?是的,我刚刚添加了它。仍然没有解决它你能分享有问题的代码吗?是的,我刚刚添加了它。还没有解决