17/10/2024 - andbin ha scritto:
Ma il punto è che dici che il messaggio deve comparire il B e poi sparire poco dopo la fine di C. Allora si tratta di una operazione “lunga”, altrimenti il messaggio non avrebbe (forse) senso. Lunga quanto? Secondi? Minuti? Allora la questione sarebbe diversa: devi eseguire un lavoro “lungo” in background, ovvero con un thread separato in modo da lasciare “libero” il EDT. E naturalmente non va fatto banalmente in un costruttore.
Capisco. Di fatto l'operazione tra B e C dura una manciata di secondi.
In pratica ho delle applicazioni che accedono ad un db MySQL che prevede di avere il server MySQL attivo.
Allora siccome ero solito lanciare il server MyMQL a mano prima di eseguire la prima volta queste applicazioni, e siccome ho realizzato anche un'applicazione che lancia altri programmi, che se ricordi, mi hai aiutato parecchio a realizzare, dandomi proprio delle dritte sulla gestione di vari thread, mi è venuta l'idea di gestire il lancio del server MySQL dall'interno dell'applicazione, nel caso l'apertura del db vada in errore.
Il tutto funziona e in effetti potrei fare a meno di mostrare una finestra di notifica del lancio del server, perché dura appunto pochi secondi, ma mi sfiziava farlo, per accrescere le mie competenze in Java e un po' per soddisfazione personale.
L'idea mi è venuta pensando alle procedure di installazione dei vari software che mentre scaricano i file, li spacchettano, li copiano e poi eseguono le varie configurazioni, mostrano una finestra in cui descrivono le varie operazioni che stanno facendo.
Mi piacerebbe fare una cosa simile.
Quindi devo creare due thread che comunicano tra loro?