ciao!
ho questo spezzone di codice da lanciare in diversi punto del programma:
codice:
public class BackgroundTask {
public void execTask() throws InterruptedException {
LoadingDialog loadingDialog = new LoadingDialog();
Task<Void> task = new Task<Void>() {
@Override
public Void call() throws InterruptedException {
// DO STUFF
return null;
}
};
loadingDialog.activateProgressBar(task);
task.setOnSucceeded(event -> {
loadingDialog.getDialogStage().close();
});
task.setOnCancelled(event -> {
loadingDialog.getDialogStage().close();
});
loadingDialog.getDialogStage().show();
Thread thread = new Thread(task);
thread.start();
}
}
in sostanza l'unica cosa che cambia è la riga commentata, che è dove eseguo l'operazione in background, che può essere uno scaricamento di un file dal web, opppure un invio di dati in post ad un servizio remoto.
per evitare di usare tutto quel codice ovunque nel programma (in circa una decina di punti), ho pensato di generalizzarlo e poi passare in qualche modo solo l'operazione da eseguire.
è possibile secondo voi??