Ciao ragazzi ,
non ho molta esperienza col java ma riesco a lavoricchiarci per fare
qualche programmino utile.
Mi sono imbattuto in un problemone gigantesco credo.
Sarebbe per me eccezionale riuscire a capire come si fa:

allora ho implementato (((((((((( DefaultTableCellRenderer ))))))))))

codice:
class IconRenderer extends DefaultTableCellRenderer {

		@Override
		public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
			
			final JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);

			
			if (value != null ) {
				 try {

   ResultSet rs = pstmt.executeQuery();
   if (rs.next()) {

    Blob blob = rs.getBlob(8);
    ImageIcon imageIcon = new ImageIcon(
     blob.getBytes(1, (int)blob.length()));


    int width = imageIcon.getIconWidth();
    int height = imageIcon.getIconHeight();


    if (width > 600 || height > 600) {

	double d = 100D / Math.max(width, height);

	width = (int)Math.round(width * d);
	height = (int)Math.round(height * d);


    Image img1 = imageIcon.getImage();

	BufferedImage img2 = new BufferedImage(
		width, height, BufferedImage.TYPE_INT_RGB
	);
	Graphics g = img2.getGraphics();
	g.drawImage(img1, 0, 0, width, height, null);
   // g.drawLine(100, 100, 100, 100);
	imageIcon = new ImageIcon(img2);
    label.setIcon(imageIcon);

   }
  }}
  catch (Exception ex) {
   System.err.println(ex);
  }
			}

			return label;
		}


	}
questo funziona non mi da errori...
poi ho questo :

codice:
  dati = getDati();

        
        colonne= new Vector<String>();
       

        colonne.add("Cognome"); 
        colonne.add("Nome"); 
        colonne.add("Indirizzo");
        colonne.add("N-Telefono");
        colonne.add("N-Cellulare");
        colonne.add("N-Fax");
        colonne.add("E-Mail");
        colonne.add("Foto");
e recupero i dati dal DB e popolo le celle cosi:

codice:

public Vector getDati()throws Exception
{
Vector<Vector<String>> RecuperaDatiVettore= new Vector<Vector<String>>();


PreparedStatement pre = connection.prepareStatement("select * from jagenda");

ResultSet rs = pre.executeQuery();

while(rs.next())
{
Vector<String> RecuperaDati= new Vector<String>();
RecuperaDati.add(rs.getString(1)); 
RecuperaDati.add(rs.getString(2)); 
RecuperaDati.add(rs.getString(3)); 
RecuperaDati.add(rs.getString(4));
RecuperaDati.add(rs.getString(5));
RecuperaDati.add(rs.getString(6));
RecuperaDati.add(rs.getString(7));

Qui dovrei recuparare il campo "8"  che sarebbe la foto(CAMPO BLOB)  COME POTREI FARE ?


RecuperaDatiVettore.add(RecuperaDati);
}



return RecuperaDatiVettore;
}
Adesso ho la classe - class IconRenderer extends DefaultTableCellRenderer - che mi recupera il blob e so per certo che funziona perchè anche ina ltri software recupero stupendamente i campi blob da mysql
MA COME potrei fare a popolare la cella numero 8 della mia tabella con "IconRender" estensione della DefaultTableCellRederer ?
Ho letto e provato di tutto ma forse sono andato in confusione e non ci ho capito piu nulla.
Mi sono perso qui:
codice:
TableColumnModel columnModel = table.getColumnModel();
                JTAB.setRowHeight(300);
             
		columnModel.getColumn(8).setPreferredWidth(200);
               

		columnModel.getColumn(0).setCellRenderer(new IconRenderer());
chi ha pazienza di leggersi tutto è mi sappia indicare come risolvere la cosa....gle ne sarei enormemente grato!

un saluto.