JGraphX布局的进度条

时间:2013-11-07 15:03:02

标签: layout jprogressbar jgraphx

是否可以使用mxIGraphLayout的进度条?我有一个图表,需要一个非常重要的时间来布局,我希望用户能够看到,是的,正在发生的事情。

理想情况下,我想要一些我可以解释(甚至大致)完成百分比的东西,但似乎没有办法添加在布局期间调用的任何侦听器。

如果重要,我正在使用mxOrganicLayout,但我将来可能会改变。

1 个答案:

答案 0 :(得分:3)

可以通过扩展mxOrganicLayout并覆盖以下方法来实现这一目标

    @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;

显然,您还需要在某个时刻设置progressexecute通知进度监视器已执行已执行,并在完成后将其关闭。

调用

performRound来执行实际更新,因此增加进度将导致进度条前进。