2012-10-25 2 views
2

마법사가 있으며 백그라운드에서 작업을 실행해야합니다. 진행 표시 줄에 작업이 실행 중임을 보여주고 싶지만 마법사의 GUI 구성 요소가 비활성화되는 것을 원하지 않습니다. 즉, 진행률 표시 줄에 백그라운드에서 작업이 표시되는 동안 계속 마법사를 사용하고 싶습니다. 가능합니까?JFace 마법사 : 진행률 표시 줄에서 마법사 GUI를 비활성화하지 않는 방법

모두에게 감사드립니다.

답변

1

당신은, 당신은 당신이 배경 작업을 수행하는 새로운 작업을 시작 있는지 확인해야 할 수 있지만, UI는 여전히 UI 스레드에서 일어날 업데이트합니다

Job job = new Job("name") { 
     @Override 
     protected IStatus run(IProgressMonitor monitor) { 
      // Do some work 

      Display.getDefault().asyncExec(new Runnable() { 
       @Override 
       public void run() { 
        // Update UI 
       }}); 
      return Status.OK_STATUS; 
     } 
    }; 
    job.schedule(); 
관련 문제