Mi trovo di fronte al seguente problema:
in un'applicazione swing carico un ambiente java 3D in un pannello, il cui contenuto dipende dalla riga selezionata di una jtable.
Selezionando una riga vuota il pannello si svuota, cliccando su una riga "piena" viene riempito.

Il tutto funziona, ma funziona male.

Dopo aver cliccato su una riga "piena" il pannello viene riempito e vengono caricati ben 14 thread ( analisi con jconsole )



dopo di che se passo su un'altra riga piena (oppure prima su una vuota e poi torno su una che era già caricata) ho il caricamento di altri 9 thread ogni volta





l'applicazione consuma sempre più memoria, man mano aumenta l'occupazione anche dell'heap memomory ( già settata a 256 MB ) fino a quando a causa del riempimento dell' heap memory il programma va in crash.

Qualcuno ha un'idea di come possa fare a "distruggere" tutti quei thread e a rilasciare tutte le risorse occupate appena ci sia un cambio di selezione della riga?

:master:

Grazie e buona giornata.