Uhm... Teoricamente ho capito, in pratica come lo implemento? Non ho tutta questa familiarietà coi thread... Consideriamo le mie classi:

codice:
public class Finestra extends JFrame
{
    public Finestra
    {
        // BLA BLA BLA
    }
}
Che rappresenta una mia "generica" finestra, e

codice:
public class App extends Finestra
{
    public App
    {
        //COSTRUISCO LO JSCROLLPANE E IL JPANEL
        //METTO UNA JLABEL IN OGNI RIGA DEL GRIDLAYOUT DEL JPANEL
        //CARICO IL CONTENUTO DELLE JLABEL DA UN DB
    }
}
Che la sfrutta per la mia App, vi ho risparmiato i dettagli, esattamente dove e come posso inserire questo thread che mi ricarica il JPanel ogni 15 secondi?
Consideriamo che non dovrà mai fermarsi, io avevo pensato di mettere una chiamata a sleep (15000) in un ciclo infinito, ma così facendo cado dalla padella alla brace, in quanto l'App non è mai libera di essere usata!

Allora io inizializzo un nuovo Thread prova = new Thread (); così facendo "credo" di simulare un multithreading, in cui lo svolgimento dell'App va avanti per conto suo, e quello della variabile "prova" non terminerà mai, ma il fatto è che non sò proprio dove inserirlo....

Consiglio?