为eclipse Job禁用忙碌光标

时间:2015-04-16 07:59:15

标签: eclipse runnable jobs

这段代码可以满足我的需要,但正常光标和繁忙光标之间的快速切换除外。

    /* this code is run inside the createPartControl(Composite parent) method of a ViewPart */
    Job job = new Job("refreshing")
    {
        @Override
        protected IStatus run(IProgressMonitor monitor)
        {

            while (data.isReading())
            {
                Display.getDefault().syncExec(new Runnable()
                {

                    @Override
                    public void run()
                    {

                        treeViewer.setInput(DataView.this.dataModel.getArray());

                    }

                });
            }

            return Status.OK_STATUS;
        }
    };
    job.schedule();

那么有没有办法在eclipse中禁用Job的忙碌光标? 此外,是否会发生这种情况,因为在GUI类中调用了Job?

1 个答案:

答案 0 :(得分:0)

致电

job.setSystem(true);
在安排工作之前

。来自JavaDoc:

  

设置此作业是否为系统作业。系统工作是   通常不会在任何UI呈现作业中向用户显示。其他   与他们的UI演示相比,系统作业与其他作业完全一样。   如果未明确设置此值,则将作业视为非系统   工作。必须在安排作业之前调用此方法。

但是我认为忙碌光标来自BusyIndicator.showWhile AbstractTreeViewer.createChildren来自setInput树{{1}}将调用的树{{1}}。我认为你无能为力。