2015-03-05 4 views
0

Я создаю мастер Затмения ... Я переопределение методазатмение мастер performFinish медлительности

public boolean performFinish() 

Внутри метода, я хочу, чтобы монитор прогресса ... Поэтому я делаю следующее:

IRunnableWithProgress op = new IRunnableWithProgress() { 
     public void run(IProgressMonitor mainMonitor) throws InvocationTargetException { 
//do stuff 
     } 
}; 

Я запустил мастер в отладке и обнаружил, что это не мой код, который заставляет его работать медленно. Я могу просто распечатать что-то с монитором, и это все равно занимает немного времени для того, чтобы выполнить функциюFinish. Есть ли что-то, чего я пропускаю с помощью performFinish? Кто-нибудь еще видел эту проблему?

ответ

0

Я этого не видел.

Вы обычно использовать индикатор, встроенный в мастере, как это:

getContainer().run(true, true, runnableWithProgress); 

в performFinish.

Вы мастер должен вызвать

setNeedsProgressMonitor(true); 

в его конструктор, чтобы включить индикатор прогресса мастера.