Innanzitutto in questo metodo sei nel contesto del EDT. Non lo devi tenere impegnato per troppo tempo. Dovresti solo settare le proprietà visuali per mostrare che è in attesa (es. cursore clessidra), creare il JFrame di progresso e avviare il thread. Basta.Originariamente inviato da Cool81
Quando clicco sul bottone, appare prima il cursore come clessidra, poi (dopo un bel po' d secondi) appare il frame che contiene la progressBar
Riportare il cursore allo stato normale o altro che indica la terminazione del "lavoro" dovresti farlo nel done() del tuo SwingWorker, metodo che viene invocato nuovamente nel contesto del EDT, quindi "safe" per accedere alla interfaccia utente.
Ripeto: la progress bar la aggiungi nel content pane del JFrame o pannello che sia??Originariamente inviato da Cool81
(che però nn si vede)
Fai una cosa del tipo es. getContentPane().add(tuaScrollBar) o simile??
Uscendo dal doInBackground().Originariamente inviato da Cool81
e poi è come se nn finisse più il processo.
In che modo fermo il task dopo che ha eseguito quello che m serve?
Nota che nel tutorial della Sun c'è un esempio bello e chiaro che mostra l'uso di SwingWorker e l'uso della bound property "progress": ProgressBarDemo.java
Più di così ..... non so!

Rispondi quotando