2016-10-07 9 views
1

"[email protected]"が表示されているjtableの列に表示されます。画像が表示されるはずです。私はBLOBとしてgifイメージをjava derbyデータベースに保存しました。これは何の用量ですか? "[email protected]"は、データベースからJtableに表示されるイメージの代わりに、

この

はレンダラークラスです:

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; 
} 

} 

そして、これはactionPerformedの一部です:

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()); 
+0

問題のあるコードを共有できますか? – Mureinik

+0

はい、追加しました。まだそれを解決していない – Evan12

答えて

0

のtoString()Blobオブジェクトのオブジェクトに対して実行されているようだ - 内容べき代わりに取られている。

関連する問題