这段代码可以满足我的需要,但正常光标和繁忙光标之间的快速切换除外。
/* 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?
答案 0 :(得分:0)
致电
job.setSystem(true);
在安排工作之前。来自JavaDoc:
设置此作业是否为系统作业。系统工作是 通常不会在任何UI呈现作业中向用户显示。其他 与他们的UI演示相比,系统作业与其他作业完全一样。 如果未明确设置此值,则将作业视为非系统 工作。必须在安排作业之前调用此方法。
但是我认为忙碌光标来自BusyIndicator.showWhile
AbstractTreeViewer.createChildren
来自setInput
树{{1}}将调用的树{{1}}。我认为你无能为力。