Hallo,
ich habe bei Eclipse RCP einen Job erzeugt, für den ich eine Fortschrittsanzeige erzeugen möchte. Laut Doku sollte setUser(true) das bewirken, bei mir tut sich aber nichts. Der Job funktioniert, aber es gibt kein Fenster, in dem der Fortschritt angezeigt wird (Ich will nicht wirklich den Fortschritt anzeigen, mir gehts nur darum, dass das Fenster des Progress-Monitors aufgeht. Durch IProgressMonitor.UNKNOWN sollte es keine Prozent-Anzeige, sondern nur einen hin- und herwandernden Balken geben.)
Das hier ist der Job:
Und so rufe ich ihn in einer IWorkbenchWindowActionDelegate auf:
Wenn jemand eine Idee hat, warum der Job im Hintergrund bleibt, wäre ich für jeden Hinweis sehr dankbar.
Gruß,
Benedikt[/i]
ich habe bei Eclipse RCP einen Job erzeugt, für den ich eine Fortschrittsanzeige erzeugen möchte. Laut Doku sollte setUser(true) das bewirken, bei mir tut sich aber nichts. Der Job funktioniert, aber es gibt kein Fenster, in dem der Fortschritt angezeigt wird (Ich will nicht wirklich den Fortschritt anzeigen, mir gehts nur darum, dass das Fenster des Progress-Monitors aufgeht. Durch IProgressMonitor.UNKNOWN sollte es keine Prozent-Anzeige, sondern nur einen hin- und herwandernden Balken geben.)
Das hier ist der Job:
Code:
public class MyJob extends Job {
public DetectionJob(String name) {
super(name);
setUser(true);
}
protected IStatus run(IProgressMonitor monitor) {
try {
monitor.beginTask("Running Job ...", IProgressMonitor.UNKNOWN);
System.out.println("Job wird ausgeführt");
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
Action action = new JobFinishedAction();
action.run();
}});
monitor.done();
return new Status(Status.OK,
"myPlug-In",
"Job finished");
} catch (Exception e) {
return new Status(Status.ERROR,
"myPlug-In",
"An error occured during job");
}
}
}
Und so rufe ich ihn in einer IWorkbenchWindowActionDelegate auf:
Code:
public void run(IAction action) {
MyJob myJob = new MyJob("Job");
detectionJob.schedule();
}
Wenn jemand eine Idee hat, warum der Job im Hintergrund bleibt, wäre ich für jeden Hinweis sehr dankbar.
Gruß,
Benedikt[/i]