我試圖顯示從BLOB數據類型的MySQL數據庫檢索圖像。無法弄清楚導致圖像列顯示數據的問題是什麼,例如[[email protected]
而不是圖像圖標。在JTable的單個列中顯示來自MySQL數據庫的圖像
DefaultTableModel model = new DefaultTableModel(new Object[]{
"image", "item_name", "quantity","price", "category", "color", "size"}, 0){
@Override
public Class<?> getColumnClass(int column) {
switch(column){
case 0: return ImageIcon.class;
default: return String.class;
}
}
};
myTable.setModel(model);
...
ResultSet rs = database.getRS();
int columns = rs.getMetaData().getColumnCount();
while(rs.next()){
Object[] row = new Object[columns];
for(int i = 1; i <= columns; i++){
row[i-1] = rs.getObject(i);
}
DefaultTableModel defmodel = (DefaultTableModel) tableItem.getModel();
defmodel.insertRow(rs.getRow()-1, row);
}
模型中的數據(來自我所能猜到的)是一個'byte []',而不是一個有效的圖像。數據庫中存儲的數據如何(通過什麼方式)? – MadProgrammer
@MadProgrammer在localhost/phpmyadmin中。 Type是MediumBlob。 – chaoqunli
@MadProgrammer存儲的值是[BLOB - 17.1 KiB]。 – chaoqunli