il problema è che la mia applicazione non esegue una sola query.
Ne esegue 30 e in una public class esterna così sviluppata:

public QueryManager (Connection con) throws SQLException
{
String querySQL=

"SELECT codCli, descrizione "+
"FROM clienti "

listaClienti= con.prepareStatement(querySQL);

querySQL=

"SELECT codArt, descrizione "+
"FROM articoli"

listaArticoli= con.prepareStatement(querySQL);

...
//e così via per le query di selezione
// mentre per quelle di aggiornamento, inserimento eliminazione

aggiornaLega= con.createStatement();
eliminaLega= con.createStatement();
}
public void setEliminaLega(String cod)
{
try
{
eliminaLega.executeUpdate(
"DELETE FROM leghe WHERE codLega='"+cod+"'");
}
catch (SQLException e);
{
e.printStackTrace();
}
}
...
// e così via per tutte le altre query

Creo la connessione al database nel framePrincipale e poi la passo come parametro in ogni frame che creo (10 frame in totale)
in ogni frame creo un nuovo oggetto:
QueryManager qm= new QueryManager(con);

Ho utilizzato questo sistema copiandolo da un libro che spiega Java. Il problema è che non so se commetto qualche errore io o se è pessimo il metodo che ho usato, visto che dopo due inserimenti il programma diventa sempre più lento fino a bloccarsi senza dare nessun errore.

Buon Anno.