As it says in the Title, I am wondering how can I show image (that's on MySQL server) inside of jTable in Java?
I've tried following, but unfortunately I am not getting wanted results. Here's what I've done:
So, in order to populate table, I wrote following function:
//Show vehicles in table
public void showVehiclesInTable()
{
ArrayList<Vehicle> CarsList = getCarsList();
DefaultTableModel model = (DefaultTableModel) jTable_cars_.getModel();
model.setRowCount(0);
Object[] row = new Object[5]; //5 broj kolona
for(int i = 0; i < CarsList.size();i++)
{
row[0] = CarsList.get(i).getId();
row[1] = CarsList.get(i).getVin();
row[2] = CarsList.get(i).getRegoz();
row[3] = CarsList.get(i).getMake();
row[4] = CarsList.get(i).getSlika();
model.addRow(row);
}
}
And this is the function I am using in order to create array:
//Funkcija koja returna arrayListu vozila
public ArrayList<Vehicle> getCarsList(){
ArrayList<Vehicle> list = new ArrayList<>();
String selectQuery = "SELECT * FROM `vozila`";
Statement st;
ResultSet rs;
try {
st = (Statement) DB.getConnection().createStatement();
rs = st.executeQuery(selectQuery);
Vehicle vehicles;
while(rs.next())
{
//Treba popunit mrsko mi sad...
vehicles = new Vehicle(rs.getInt("ID"),rs.getString("make"),rs.getString("model"),rs.getInt("godina"),rs.getString("boja"),rs.getString("vin"),rs.getString("engine"),rs.getString("tip"),rs.getString("vlasnik"),rs.getString("regoz"),rs.getString("istek"),rs.getString("odometer"),rs.getBytes("slika"),rs.getString("napomena"));
list.add(vehicles);
}
} catch (SQLException ex) {
Logger.getLogger(ManageCars_Frame.class.getName()).log(Level.SEVERE, null, ex);
}
return list;
}
And as output instead of image I am getting following ( [B@f5f6edd ):
My final question is: How should I modify code and what should I add in order to make photo actually show inside of jTable?