Io qui non vedo alcun thread. C'è un Runnable il cui compito è eseguire updateIndenn(). Però questo Runnable viene eseguito dopo che btnAllineaMouseClicked() ha terminato.Originariamente inviato da raffaeu
Ciao ho un JFrame che esegue alcune operazioni decisamente pesanti.
Cosa ho pensato? DI usare un bel thread separato.
In questo thread eseguo l' operazione, ma prima, lancio una GUI di attesa con un prograssBar undetermineted.
codice:private void btnAllineaMouseClicked(MouseEvent e) { video.Waiter wait = new video.Waiter(); wait.setVisible(true); SwingUtilities.invokeLater(new Runnable(){ public void run(){ updateIndenn(); } }); wait.dispose(); }
In pratica il metodo btnAllineaMouseClicked() termina praticamente subito e updateIndenn() viene eseguito successivamente nel contesto del thread di Swing (event-dispatch thread).