Mit ProgressMonitorDialog in Eclipse 4 richtig

Habe ich eine Reihe von APIs, die Datei-Operationen wie z.B. saveToFile(CustomObject objectToSave);

Da eine Datei Vorgang kann langwierig sein, die ich beschlossen, einige Hinweise sollten dem Benutzer angezeigt werden, z.B. Fortschritts-bar.

Lese ich über ein ProgressMonitorDialog und so habe ich es versucht, aber es nicht genau so funktioniert, wie ich brauche (oder besser ich nicht wissen, wie Sie es richtig verwenden).

Derzeit mache ich:

ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(theShell);  
    try {  
        progressDialog.run(false, true, new IRunnableWithProgress() {  

        @Override  
        public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {  
            monitor.beginTask("Saving your data", 100);  
            try {  
                Utils.saveToFile(objectToSave);  
            } catch (Exception e) {  
            //TODO Auto-generated catch block  
                e.printStackTrace();  
            }  
            monitor.done();   
        }  
     });   

Dieser code zeigt ein Dialogfeld mit dem Fortschritt sehr schnell und endet, aber das problem ist, dass auf einem langsameren PC, würde dieser Stapel, bis der Utils.saveToFile zurückgegeben, während ich keine Ahnung habe, wie zu zeigen Zwischenschritte im Prozess, bis der Speichervorgang abgeschlossen ist.

Fand ich eine thread erwähnenswert, über IProgressMonitor.UNKNOWN aber nicht sagen, was passiert, in monitor während der performRead(_fileName, monitor);

Wie würde ich dieses Problem lösen?

InformationsquelleAutor Cratylus | 2012-10-20
Schreibe einen Kommentar