À l'aide de ProgressMonitorDialog dans Eclipse 4 correctement

J'ai un ensemble d'Api qui ne les opérations de fichier par exemple saveToFile(CustomObject objectToSave);

Depuis une opération de fichier risque d'être long, j'ai décidé que certains indication doit être affichée à l'utilisateur par exemple, la barre de progression.

J'ai lu sur un ProgressMonitorDialog et donc je l'ai essayé, mais il n'a pas exactement le travail que j'ai besoin (ou mieux, je ne sais pas comment l'utiliser correctement).

Actuellement je fais:

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();   
        }  
     });   

Ce code affiche une boîte de dialogue de progression très rapide et se termine, mais le problème est que sur un PC plus lents, ce serait de la pile jusqu'à ce que le Utils.saveToFile retourné, alors que je n'ai aucune idée de comment indiquer intermédiaire du processus jusqu'à ce que la sauvegarde est terminée.

J'ai trouvé un fil de mentionner au sujet de IProgressMonitor.UNKNOWN mais il ne dit pas ce qui se passe dans monitor au cours de la performRead(_fileName, monitor);

Comment pourrais-je résoudre ce problème?

InformationsquelleAutor Cratylus | 2012-10-20