Non stampa nulla, ma non dico il contenuto delle tabelle, ma proprio quello che vado ad inserire di mio nelle system.out

Posto tutto il codice relativo a questa parte:

codice:
public class VisualizzaDBCliente extends JPanel
{
 public JTable tabellaCliente;
 public Object[] nomeColonna = {"Nome","Cognome","Eta"};
 public Object[][] valCella;
 public JScrollPane scroll;
 public int i = 0;
 public int k;
 public String query;

public VisualizzaDBCliente()
  {
   setLayout(new BorderLayout());
   
   
    ottieniRecord();
         
    tabellaCliente = new JTable(valCella,nomeColonna);
    add(tabellaCliente);
  
   scroll = new JScrollPane();
    scroll.getViewport().add(tabellaCliente);
    add(scroll);
    
   add(BorderLayout.CENTER,tabellaCliente);

   setVisible(true);
 }

public void ottieniRecord()
  {
   try
   {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection("jdbc:odbc:db_progetto");
    Statement st = conn.createStatement();
  
     query = ("SELECT * FROM utente");
     
     
     
     ResultSet rs;
      rs = st.executeQuery(query); 
          
	 while (rs.next())
	 {
	  i++;
	 }
	 
	 valCella = new Object[i][3];
	 i = 0;
	           
	 
	 while (rs.next())
	 { 
      k = 0;
      
    
       valCella[i][k] = rs.getString(0);
       System.out.println("Nome:" + rs.getString(0));
       k++;
       valCella[i][k] = rs.getString(1);
       k++;
        System.out.println("Cognome:" + rs.getString(1));
       valCella[i][k] = rs.getInt(2);
        System.out.println("Anni:" + rs.getInt(2));
       i++;
     }
     
   } 
   catch (ClassNotFoundException e)
   {
    System.out.println("Errore di tipo ClassNotFound");
    e.printStackTrace();
   }  
   catch (SQLException e)
   {
    System.out.println("Errore di tipo SQL");
    e.printStackTrace();
   }
  }

}