Question

Est-il possible d'utiliser une barre de progression avec un mxIGraphLayout? J'ai un graphique qui prend un temps non trivial pour la mise en page, et j'aimerais que l'utilisateur puisse voir cela, oui, quelque chose se passe.

Idéalement, je voudrais quelque chose que je peux interpréter (même à peu près) comme un pourcentage fait, mais il ne semble même pas y avoir un moyen d'ajouter des auditeurs appelés pendant la mise en page.

Si c'est important, j'utilise mxOrganicLayout Mais je pourrais changer à l'avenir.

Était-ce utile?

La solution

Le peut être accompli quelque peu en étendant mxOrganicLayout et remplacer les méthodes suivantes

    @Override
    public void execute(Object cell)
    {
        progress.setProgress(0);
        try
        {
            super.execute(cell);
        }
        finally
        {
            progress.setProgress(maxIterations);
        }

    }

    @Override
    protected void performRound()
    {
        progress.setNote("Iteration " + iteration);
        progress.setProgress(iteration);
        super.performRound();
    }

    final ProgressMonitor progress;

De toute évidence, vous devez définir progress à un moment donné aussi. execute informe le moniteur de progression que l'exécution a commencé et le ferme lors de sa fin.

performRound est appelé pour faire les mises à jour réelles, donc l'incrémentation des progrès provoquera la progression de la barre des progrès.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top